随笔分类 - gcc
摘要:原作者不详。 名称: sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏幕(st...
阅读全文
摘要:引子:新近在做热电偶的分度表,由于要提高其解析度,若以要对已有的分度表进行插值。然而,上万个数据,若是手动插值,不知道要弄到猴年马月。小试一下C语言的fscanf和fprintf的格式化输入和输出,因为之前从来没有使用C来操作文件,所以一番折腾,还好成功了,现贴出来,以后再用。 insert_new_elsement.c#include <stdio.h>typedef struct{ int V...
阅读全文
摘要:可能原因: 1 录入的格式不对,需仔细检查 2 录入的文件格式不对,应该通过工具修改为ANSI格式的。 譬如从xls导出的文本文件,就是UCS-2 Big Endian格式。 总之,只要不是ANSI,就应该先想办法转换位ANSI。
阅读全文
摘要:解决方法:将C文件保存为ANSI格式,然后重新编译即可。
阅读全文
摘要:调试在我们编写程序时占有重要的地位。在linux下如何使用gdb调试器?下面采用FQA的方式让你快速了解gdb调试器。1.如何启动gdb调试器呢?在终端输入 gdb 程序文件名 即可。注意gdb调试的是可执行文件,而不是源代码。因此此处的文件名应该是可执行程序文件名。成功进入gdb后会显示一大段文字说明,然后是gdb提示符:(gdb) 。请注意在进入gdb之前应该按照如下方式编译源程序:gcc -g test_gdb.c -o test_gdb只有加入选项-g才能被gdb调试。2.除了上述方法,还有其他方法进入gdb吗?直接在终端输入:gdb,成功进入后,使用file命令装入要调试的程序。输入
阅读全文
摘要:当我编译上边的代码时,Nios II SBTE就会报出如下的警告。告知我第3个参数类型不匹配。其中ili_PutString的函数原型如下:无奈,干脆强制转换类型。 哈哈,警告成功消除。这究竟是为什么呢?字符串类型难道不等同于char类型的指针?求高人指点。
阅读全文
摘要:清零某位例 A &= ~(1<<1) 将第1位清零A0011~(1<<1)1101A &= ~(1<<1)0001置一某位例 A != (1<<3) 将第3位置一A00111<<31000A != (1<<3) 1011参考AVR等MCU的位操作方法
阅读全文
摘要:参考1 VGA Controller and Nios II Processor Reference Design..\StratixII_2S60\software\Nios_II_VGA_Reference_Application_2S60\vga_example.h
阅读全文
摘要:摘抄自刘海成老师的《AVR单片机原理及测控工程应用》,P35。1. 用“与”操作实现快速求余运算,例如:可以改为:说明:位操作只需要一个指令周期即可完成,而大部分的C编译器的“%”运算均是调用子程序来完成的,代码长、执行速度慢。通常,只要是求2n方的余数,均可使用位操作的方法来代替。2. 用“与”操作实现增1过限自归零的if语...
阅读全文
摘要:sizeof()源代码:运行结果:sizeof(msg) = 12strlen()源代码:运行结果:strlen(msg) = 11 结论 1. strlen(msg)是字符串msg的真实长度,而sizeof(msg)是字符串msg的存储长度。存储长度比真实长度大1,多一个结束符。 2. strlen()需要string.h支持,但sizeof()不需要string.h支持。 因此使用sizeof...
阅读全文

浙公网安备 33010602011771号