c吧
关注: 134,343 贴子: 394,829

C语言编程学习、技术交流

  • 目录:
  • 程序设计及人工智能
  • 0
    不太想从老古董学起,想作为学习作为高级语言的c++。
    天空Sky 1-5
  • 0
    1. I2C 子系统架构? 硬件层:I2C 控制器驱动(如 I2c-imx),实现总线时序(START/STOP/ACK)、寄存器操作; 核心层:I2C 核心(i2c-core),提供总线管理、设备 / 驱动注册、数据传输接口; 设备层:i2c_client(表示 I2C 设备),关联设备地址、总线号、设备树节点; 驱动层:i2c_driver(I2C 设备驱动),实现 probe/remove、数据传输接口。 2. I2C 子系统使用?(核心逻辑) 控制器注册:I2C 控制器驱动通过i2c_add_adapter注册适配器(i2c_adapter); 设备注册:从设备树
  • 77

    广告
    08:05
    不感兴趣
    开通SVIP免广告
  • 0
    一、引言 1、编写目的 2、软件需求分析理论 3、软件需求分析目标 4、参考文献 二、需求概述 1、项目背景 2、需求概述 3、系统结构 4、网络拓扑图 三、系统功能需求 详细列出系统各种具体功能 四、软硬件和其他外部接口需求 1、用户界面 2、硬件需求 3、接口需求 4、通信需求 5、运行环境 五、其他非功能需求 1、性能需求 2、安全设施需求 3、安全性需求 4、扩展性需求
  • 6
    1、2025年你还开着车堵在高架上,到了2030年90%的城市家庭已经在不在买车,为什么,因为ai出行及服务全面普及,你只需在手机上点一下去公司,一辆自动驾驶的电动车5分钟内就停到你楼下,全程0驾驶0车费0保险,一年出行成本不到3000,曾经风光无限的4s店纷纷转型成智能座舱体验馆,一位杭州车主苦笑,我那辆30万的suv,现在不到3万,连电池都不值钱。 2、写字楼正在集体退休,在北京国贸上海陆家嘴哪些曾经灯火通明的摩天大楼如今空置率超过60%,
  • 0
    1. Linux 设备驱动模型的核心组件有哪些? kobject:最基础对象,提供引用计数、sysfs 文件系统导出、对象生命周期管理; kset:kobject 的集合,按类别管理同类 kobject(如所有设备对象),支持统一事件处理; bus:总线抽象(如 platform/I2C/spi),是设备与驱动的连接媒介,定义匹配 / 解绑规则; device:表示硬件设备(物理 / 逻辑),存储设备属性、父 / 子设备关系,关联到具体总线; driver:驱动抽象,包含 probe(设备匹配后初始化)、remove(设备移除
  • 7
    这是求质数的 prnumder[lbk]0[rbk]=3, prnumder[lbk]1[rbk]=0,prnumder[lbk]2[rbk]=5 这个i%prnumder[lbk]1[rbk]=0不会报错吗
  • 1
    The C Programming Language: 网页链接 Problem Solving and Programming Design in C: 网页链接
    BestAns 1-1
  • 29

    广告
    07:59
    不感兴趣
    开通SVIP免广告
  • 3
    《C语言相关书籍最全合集76本》 PDF电子版分享 想要全面掌握C语言编程?这套合集是你的最佳选择。从基础语法到高级编程技巧,从数据结构到系统编程,这套书籍涵盖了C语言学习的各个方面。每本书都经过精心挑选,内容权威且实用,适合不同阶段的学习者。 无论你是初学者还是有经验的开发者,这套书籍都能帮助你提升编程技能,解决实际问题。 我用夸克网盘分享了「C语言学习资料」,点击链接即可保存。 链接:https://pan.quark.cn/s/c5116b69e132
    应声冲 11-6
  • 3
    为什么输入03的3啊
  • 0
    一、综合案例 实现一个综合案例程序,使应用程序和驱动程序之间实现数据传送,应用调 用 write 函数将数据写入一块内核内存中,调用 read 函数实现将内核内存中的数 据读取并显示。 案例功能要求: (1)编写一个将内存模拟成字符设备的驱动程序。 (2)该驱动必须实现读、写等文件接口操作。 (3)将驱动分别编译成开发板上模块和 pc 上模块。 (4)编写应用程序测试该驱动。 编写驱动程序: #include <linux/module.h> #include <linux/kernel.h> #in
  • 0
    驱动程序框架 驱动程序是一种内核模块,专门驱动设备的一种内核模块。不同于应用程序,驱动程序中将操作设备代码分散在程序中不同的函数中,各个函数分别实现不同的功能。 如下是一个驱动程序框架,其中实现驱动注册和注销。 #include <linux/module.h> #include <linux/kernel.h> #include <linux/types.h> #include <linux/fs.h> #include <linux/errno.h> #include <linux/mm.h> #include <linux/sched.h> #include <linux/init.h> #include <linux/cdev.h> #include <li
  • 1
    内核模块和应用程序 1、内核模块概念 内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在内核空间中运行。模块编程和内核版本密切相连,因为不同的内核版本中某些函数的函数名会有变化。因此模块编程也可以说是内核编程。模块本身不被编译进内核映像,从而控制了内核的大小;模块一旦被加载,就和内核中的其他部分完全一样。 2、应用程序和内核模块编程比较 3、hello world
    华生0211 12-30
  • 1
    马上期末考试了感觉什么都不会怎么办😧 网课也看题也做,但就是觉得题目好难考不到分 有没有人能来救救我😱
  • 26

    广告
    07:53
    不感兴趣
    开通SVIP免广告
  • 0
    在程序开发中,缓冲区是一个经常被提及却不容易深入理解的概念。它不仅在文件操作中起着至关重要的作用,还与程序的执行效率息息相关。无论是处理磁盘读写、网络数据传输,还是标准输入输出,缓冲区都默默地为程序提供性能上的提升。 1、什么是缓冲区 缓冲区是计算机内存中的一块临时存储区域,用于存储即将被处理或已经处理的数据。它的主要目的是提高程序效率,特别是在进行I/O操作时。由于磁盘或网络的读写速度远低于CPU的处理速
  • 0
    编码 指用数字代码表示字符的方法,通常规定一串二进制序列代表某个字符;因为计算机仅识别二进制0和1,所以计算机存储、处理和传输字符,就针对其编码值进行。 用多少个二进制位为多少个字符进行编码? 美国人对所有字符进行统计,计算机共需处理128个字符,包括大部分可见字符和少部分不可见字符。美国国家标准信息委员会就确定用8个二进制位(即一个字节)对这128个字符进行统一编码,称为ASCII码。例如字符'A'对应的二进制序列
  • 1
    大佬们scanf它不是只读取空格前面东西吗,那这个scanf他里面有两个空格它是怎么运行的呢?
    林衡溪兰 12-28
  • 0
    一、项目准备 1、在开始构建项目之前,需要明确项目的目标、功能需求和预期用户。 2、 选择合适的编译器与IDE 选择C++编译器时,考虑到兼容性、性能和社区支持。推荐使用GCC或Clang作为编译器,VisualStudio、CLion或Qt Creator作为IDE. 3 、创建项目与项目结构设计 创建一个新项目,设计项目结构,确保代码模块化,易于维护和扩展 二、构建和实现项目功能 1 、实现用户界面:使用Qt等库 对于图形用户界面(GUI)应用,可以使用Qt库构建界面。首先,设置项目
  • 5
    我想用C语言写图形化ui用啥工具比较方便 目前我知道有EasyX和qt 这俩哪个好用些,有没有配置教程(我用的VScode) 新手搞这些不太懂添加新的头文件这种的,有没有大佬教一教
  • 17

    广告
    07:47
    不感兴趣
    开通SVIP免广告
  • 5
    Dev-c++软件,有没有大佬知道这个怎么回事啊,输入中文显示问号,删除软件,重新下也还是这个
  • 0
    软件开发之设计模式概述 目录: 1、什么是设计模式 2、设计模式优点 3、常用设计模式 一、什么是设计模式 如果把修习软件开发当做武功修炼的话,那么可以分为招式和内功。每一位软件开发人员也都希望成为一名兼具淋漓招式和深厚内功的“上 乘”软件工程师,而对设计模式的学习与领悟将会让你“内功”大增,再结合 你日益纯熟的“招式”,你的软件开发“功力”一定会达到一个新的境界。 招式可以很快学会,但是内功的修炼需要更长的时间
  • 0
    大一,骨折,在家,自学的C语言,还有数据结构和python要学,听网友的在pta上练题,后来又找的leetcode,发现一道也做不出来,,又后来说在github上每天上传对找工作有帮助,找网址注册账号发现错误下载steam++注册还是失败,后找到gitee和csdn上传,花了好久才弄明白,又告诉我git也有东西要学,还是要一步一步来,三月份还有个计算机比赛,也不知道难不难,WPS也不会用,最主要的是我发现pta上的太简单,leetcode又不会,不知道怎么提升,马上要期末
    sjdbiff 12-24
  • 0
    一、简介 glog是Google开发的C++日志库,主要用于应用程序级日志记录,支持多平台运行。以下是其核心功能及使用方式: 1、日志级别:支持DEBUG、INFO、WARNING、ERROR、FATAL五个级别,高优先级日志会包含低级别日志。 2、格式化输出:提供时间戳、文件名、行号等格式选项,增强日志可读性。 3、日志切分与压缩:按时间或文件大小切分日志,并自动压缩旧文件。 4、命令行控制:通过命令行参数动态调整日志行为(如级别、输出位置)。 5、崩溃日志缓
  • 0
    c指针总结与分析 【目标】 1、深入理解指针的概念和用法 2、深入理解指针变量概念和用法 3、指针和函数的关系 【内容组织】 项目一:指针概念和用法: 内容导入: 1、地址:内存单元的编号,内存单元以字节编号 2、指针:地址的形象化描述,称为指针 3、研究指针的目的:通过指针给它所表示多单元中存取数据 *:指针运算符==间接访问运算符 *(指针) = 数据 data = *(地址) 如何给固定地址(0x7f008820)写一个整数0x3456? *((int *)0x7f008820) = 0x3456 #define GPMDAT *(
  • 43

    广告
    07:41
    不感兴趣
    开通SVIP免广告
  • 0
    STL库编程: 一、stl简介 二、list容器的应用 一、stl简介 1、概念 (1)是一种标准模板库,是c++标准库的重要组成部分。 (2)由一系列泛型算法和数据结构组成的通用型库,具有广泛的特点,不依赖于某种具体的数据类型。 (3)体现了软件代码的可重用性,又保证代码有相当高的执行效率 (4)模板类、模板函数组成 泛型设计的目标:设计出与数据结构无关的算法,实现代码重用 2、组成 Stl主要包括:容器、算法、迭代器、函数对象、内存分配器和
  • 0
    Vecor容器: 1、概述: 最简单,最常用容器类之一,是一个数组的泛化扩展 优点 很容易实现对容器元素的随机访问 缺点 对其中元素插入、删除时间复杂度高,依赖于数组规模 Vector是动态数组,可以动态改变大小 系统中用三个指针来描述它(起始位置、最后一个元素位置、所占内存空间的结束地址) 2、应用 Vector.h中定义了vector容器。 定了自己的迭代器类型 iterator const_iterator reverse_iterator const_reverse_iterator 使用vector<T>::iterator 方式来声明迭代器
  • 0
    一、什么是队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又
  • 0
    Libevent库编程步骤: 一、libevent介绍: Libevent是开源社区的一款高性能的I/0框架库,使用Libevent的著名案例有:高性能的分布式内存对象缓存软件 memcached9,Googlo浏览器Chromium的Linux版本。 作为一个I/0框架库,Libevent具有如下特点: 跨平台支持 Libevent支持Linux、Unix和Windows 统一事件源 Libevent对I/O事件、信号和定时事件提供统一的处理,线程安全 Libevent使用libevent pthread库来提供线程安全支持 基于Reactor模式的实现 二、libevent使用模型: libevent主框架提供注册方法
  • 28
    链接:https://pan.baidu.com/s/14DltrFiD2G_oRvl9wnqEzw?pwd=0822 提取码:0822 复制这段内容后打开百度网盘手机App,操作更方便哦
  • 0
    1、网络通信中每一个套接字都包含两个缓冲区,发送缓冲区和接收缓冲区,缓冲区能够降低双方的耦合性,提高收发效率。 2、Send()函数将内存中的内容放置到发送缓冲区,至于什么时候发送,组织成多大的包发送,都是由底层tcp协议决定的,用户无法干预。 3、Recv()函数将接受缓冲区中的数据按照指定大小存入用户指定的内存空间,接收缓冲区什么时候接收数据,用户无法干预。 4、发送缓冲区和接收缓冲区之间数据的正确传输由tcp底层协议保证,
  • 11

    广告
    07:35
    不感兴趣
    开通SVIP免广告
  • 0
    1、tcp传输过程中丢包如何处理? 2、tcp通信中粘包和拆包是怎么回事情,如何处理? 3、tcp服务器是如何知道客户端连接已经断开? 4、tcp通信中如何处理粘包的问题? 5、tcp通信当中怎么标识或者识别不同会话,tcp会话三元组(或者四元组)是那些? 6、服务器是怎么设计的,从哪些方面设计的?服务器客户端怎么交流? 7、epoll触发方式区别 8、epoll边缘触发两个消息同时进来怎么处理? 9、mysql数据库插入失败,怎么定位原因 10、项目实现过程,如何
  • 0
    软件开发中文件编制中存在着很多灵活性,然而,文件的编制确实是非常必要的,其意义如前所述。为了控制这种灵活性,保证文件编制能达到应该达到的目的,对于具体的软件开发任务,应编制的文件的种类、详细程度应取决于承担开发单位的管理能力、任务的规模、复杂性和成败风险等因素。一个软件开发单位应该根据本单位经营承包的应用软件的专业特点和本单位的管理能力,制定一个文件编制实施规定,说明在什么情况下应该编制哪些文件。
  • 6
    大佬们能给看看我的这个代码思路上,逻辑上有啥问题吗? #include <iostream> #include <vector> using namespace std ; int total = 0 ; vector <int> a ; int qiuhe(int n , int x) { if(n == x) { return 0 ; } else for(int i = x ; i < n ; i++) total += a[i] ; return qiuhe(n - 1 , x) ; } int main() { int tmp ; while(cin >> tmp) a.push_back(tmp) ; for(int i = 0 ; i < (int)a.size() ; i++) qiuhe(a.size() , i) ; cout << total ; }
    鼠疫患者 12-19
  • 3
    #include <stdio.h> #include <stdlib.h> struct item { char name[lbk]20[rbk]; int count; } mans[lbk]5[rbk]= {{"name1",0},{"name2",0},{"name3",0},{"name4",0},{"name5",0}}; int main(int argc, char** argv) { int i,j,m,n; char a[lbk]5[rbk]; m=0; n=0; for(i=0; i<5; i++) scanf(" %c",&a[lbk]i[rbk]); while(a[lbk]0[rbk]!=32) { m=0; for(i=0; i<5; i++) { if(a[lbk]i[rbk]=='1') m++; } if(m==3) { for(i=0; i<5; i++) { if(a[lbk]i[rbk]=='1') mans[lbk]i[rbk].count++; } n=n+1; } while(getchar()!='\n'); scanf("%c",&a[
  • 0
    今天使用Qt(版本为6.3.2)内置的markdown展示组件时,每次一打开程序就立马QList断言失败,索引越界,调试一看,断在了577行,这是哪个天才写的代码,循环条件都没判断完全,根本不考虑越界是吧,真是坑死我了 后面看Qt 6.9.1的代码是修复了的 浅浅吐槽一下。 再提一嘴,这个错误只会在Debug模式下因为断言而中断程序,在Release下不会,为什么呢? 因为断言只对Debug模式生效,而数组越界时由于QString的最后一位(即str[str.length()])一般都是'\0',所以
    pigric 12-17
  • 45

    广告
    07:29
    不感兴趣
    开通SVIP免广告
  • 0
    json方式: 一、概念 1、是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写, 2、它采用完全独立于编程语言的文本格式,同时也易于机器解析和生成 3、JSON独立于语言设计,很多编程语言都支持JSON格式的数据交换 4、其简洁和清晰的层次结构有效地提升了网络传输效率,使其成为理想的数据交换语言 二、protobuf 1、Protocol Buffer(简称Protobuf)是Google于2001年起开发的独立于语言和平台的数据交换格式。 2、采用二进制编码实现高效序列化
  • 1
    大专毕业后一年,想转行,目前学习了一段时间c#,因为之前学过Java和SQL,所以学起来挺快的,目前接近尾声,现在不清楚该往哪个方向。.net开发,还是上位机,或者是unity。因为我很内向,但是沟通能力还算可以就是不喜欢和人说话,所以才想转行,兄弟们,可以帮我参考一下吗
  • 0
    一、解决问题思路: 定位满的分区,通常是根目录/挂载的分区 找出占用最大的目录 清理无用的文件 二、定位磁盘占用情况 df -h查看各个分区使用率 三、查找大目录 1、切换到指定目录 cd 指定目录 2、统计目录总大小 du -sh 例如: cd / du -sh * | sort -rh | head -n 10 du -sh 统计目录总大小 Sort - rh 按大小倒序排序 Head -n 10 只显示前10个结果 找出比较大的几个目录,分别进入到目录中,用du -sh依次统计目录总大小,找出占用空间比较大的目录,查询,如果无用
  • 6
    我是小白,刚刚安装好Visual Studio2026后,尝试第一次写一个简单代码进行运行,发现是这样,然后网上寻找了好多解决方法都不行。我想问一下是不是我的存放路径或者是环境路径出现了问题?这种情况该如何解决?求大神指教。
  • 78

    广告
    07:23
    不感兴趣
    开通SVIP免广告
  • 2
    1、linux中修改权限用什么指令。 2、你觉得在写c语言程序你有那些好习惯。 3、C语言关键字。 4、linux命令 find。 5、linux如何使用命令如何重定向输入和输出。 6、C语言里面比较一片内存的二进制数是否相等,用什么函数 7、可以用什么关键字避免变量被编译器优化 8、C语言中,定义了一个结构体,如果获取到这个结构体中每个成员的的首地址(OFFSETOF) 9、数组大小 10、数组越界会造成什么现象 11、回调函数传递一些信息,或者参数,我们一般如何让
  • 2
    本节目录: 1、长连接和短连接概念 2、tcp通信--心跳包概述 3、心跳包编程方法 4、心跳包示例代码 一、长连接和短连接概念 长连接(Persistent Connection) 长连接指的是客户端和服务器之间的TCP连接在一段时间内保持打开状态,可以被多次重复利用而不是每次请求都需要建立新的连接。长连接通常用于减少连接建立和断开的开销,提高通信效率,在长连接中,客户端和服务器之间的TCP连接会一直保持打开状态,直到其中一方发送FIN来关闭连接。这样的连接
  • 0
    一、管道概念 1、管道本质是一个有两个描述符文件,一个读端和一个写端 2、通过写端写入数据,通过读端读取数据,具有“先进先出”特点,类似于队列。 3、读管道文件时,文件是空的,则阻塞等待 写管道文件时,如果文件满了,则阻塞 4、分类: 匿名管道:用于亲缘进程之间通信 存在与内存中文件 有名管道:是一个文件,用于任意进程之间通信 二、编程步骤 1、创建管道文件 创建匿名管道 int pipe(int pipefd[2]); 创建有名管道 int mkfifo(const char *pat

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

小吧:小吧主共4

会员: 程序员

目录: 程序设计及人工智能