随笔分类 - C/C++
摘要:这个和优先级是有区别的,优先级里面,每一个语句都要计算的,而求值顺序不一定能执行到的。 if(y!=0 && x/y > tolerance){conplain();}这里如果y=0,那么后面的x/y > tolerance不会执行,而且在||中,也有这样的特点,应该是c语言的特性吧,因此我们应该在
阅读全文
摘要:书中提到这个在很多编程语言中,和c语言就不同的地方,c语言定义int a[10],那么就定义了10个元素,从a[0]到a[9],a[10]是没有定义的,因此,不建议访问a[10],可以读,但是绝不可以写,有的时候读都不行,会出现硬件错误。 因此for循环的时候,我们使用for(i=0;i<10;i+
阅读全文
摘要:一维数组、指针的关系定义数组int array[3] = {0,12,2};定义数组指针,指向一个大小为3个整型的数组int (*ap)[3] = array; 其实这个方式的赋值,编译器会出现类型不匹配的报警,warning: assignment from incompatible pointe
阅读全文
摘要:0、sudo apt-get install texinfo否则会提示makeinfo:not fonud1、./configure2、make3、make test4、sudo make install https://askubuntu.com/questions/161677/makeinfo
阅读全文
摘要:以下分析某些危险的库函数1、不用gets函数,用fgets代替2、使用memcpy、strncpy 替代strcpy,记得手动添加结束符'\0'3、使用strncat来替代strcat,记得手动添加结束符'\0',记得计算dsrt数组中的剩余空间。该函数无法告知缓冲区溢出,只返回字符串的起始地址(而
阅读全文
摘要:https://blog.csdn.net/mylibs/article/details/27913281展开在编译参数中增加以下两条指令: -fexec-charset=gbk -finput-charset=gbk 原因简单分析:Windows(中文)默认的字符集是Windows-936(GBK
阅读全文
摘要:在单片机裸机的编程方法中,状态机的方法是比较好的,经典的比如按键的检测判断等。 其实有很多地方可以使用这种思想。比如传感器的数据采集,因为单片机不可能一直等待着运行,那样的效率是很低的,通常都是结合fsm + timer的方式来提高CPU的使用率 一、传感器中使用fsm的方法。 大家都知道,ds18
阅读全文
摘要:参考:https://www.cnblogs.com/xyelectric/p/9046048.html C语言中的关键字__attribute__ ,直接用的是绝对定位,在开发中一般用的比较少,但是有的ccm rsm 或者外部sram的使用,就需要这个绝对地址,不然单片机会把变量默认分配到内部sr
阅读全文
摘要:这个算是开发中的小技巧了,也不知道如何起标题。 通常为了节省单片机的引脚,我我们同城会使用比较多的数字电路来扩展,比如74hc574的D触发器,74ls138的38译码器,3态八路缓冲器/线路驱动器74hc541,还有就是串进并出的74hc595. 当然还有与非门、与门、或门等等最基本的数字逻辑电路
阅读全文
摘要:头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一。于是自己验证。经过arm-none-eabi-gcc下测试后得出结论。 inline 关键字实际上仅是建议内联并不强制内联,gcc中O0优化时是不内联的,即使是O2以上,如果该
阅读全文
摘要:C语言原来是没有统一的标准的,第一个标准是90左右确定的,内容较以前有些改进: 1、增加了真正的标准库; 2、新的预处理命令与特性; 3、函数原型允许在函数申明中; 4、指定参数类型一些新的关键字,包括 const、volatile 与 signed; 5、宽字符、宽字符串与多字节字符; 6、对约定
阅读全文
摘要:1.下载并安装GMP库 GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。 1.1下载GMP库 GMP官网下载GMP库。 点击下图右侧红框处的download
阅读全文
摘要:参考链接:http://www.cnblogs.com/QG-whz/p/5456720.html 并做了自己的修改 1. 什么是gcc gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器。最开始gcc是作为C语言的编译器(GNU C Compiler),
阅读全文
摘要:1、这个使用bcc3.1精简版来编译c程序的,使用dosbox来模拟仿真的,bcc3.1可是1992年的工具了,相当老了。dos年代的工具,是16位编译工具, 2、下面使用msys2的最新版gcc-9.2.0来编译运行的。对比bcc3.1,平台已经更新到64位了
阅读全文
摘要:这个是stm32平台,小端模式下的仿真效果
阅读全文
摘要:转载自:https://ring0.me/2014/11/c-compiler/ C 程序为什么要编译才能执行?一个 C 程序在变成可执行文件的过程中,为什么要经过预处理、编译、汇编、链接这四道工序?让我们从这段简单的 C 程序开始。 为什么要编译 这并不是一个简单的问题。我们知道 Python 代
阅读全文
摘要:https://blog.csdn.net/czg13548930186/article/details/78331692 http://c.biancheng.net/gcc/ https://www.cnblogs.com/king-lps/p/7757919.html 如果想把C语言变量的名称
阅读全文
摘要:一、安装 测试系统: windows 10 首先需要msys2的安装包,可以去官网下载安装包 官网地址: http://www.msys2.org/本次下载的是 msys2-x86_64-20180531.exe 注意:1.msys2不可以安装在FAT*分区 2.msys2不能安装在win XP系统
阅读全文
摘要:1.下载msys2,官方地址:http://www.msys2.org/,这里选择64位的安装器 2.安装完成之后,先别启动msys2,在 安装根目录/etc/pacman.d/ 下找到mirrorlist.mingw32、mirrorlist.mingw64和mirrorlist.msys并进行修
阅读全文

浙公网安备 33010602011771号