1.关于Makefile,在利用make进行编译之累的操作时,make去判断的并不是根据所涉及的文件的大小或者内容的改变,而是文件有一个时间戳,根据这个时间戳的变化来确定文件是否修改过。
2.在设备调试过程中,如果出现打印信息打印不出来的情况,有可能是启动脚本中,屏蔽了打印信息的输出,也有可能是自己在调用函数的时候,没有选择正确的打印方式,比如用printf或者fprintf之类的,这个自己如果看不到相关的打印信息的时候,可以考虑同时采用多种方式进行试验,然后选择一个能够正常打印的方式进行调试。
3. gcc -c test.c将生成test.o的目标文件
gcc -o app test.c将生成可执行程序app
gcc -c a.c -o a.o表示把源文件a.c编译成指定文件名为a.o的中间目标文件(其实在这里,你把-o a.o省掉,效果是一样的,因为中间文件默认与源文件同名,只是后缀变化)。其实通过最后一行的命令,不过是更改了生成的.o文件的名称而已。
4.mkdir –p参数能够实现在当前目录下创建多个文件夹。
5.sudo tcpdump -i eth0 -w /home/admin/sip_0110.pcap -n -s0 udp port 5060,利用tcpdump工具抓包
6.pstree,查看当前进程树及内部线程
7.所谓对文件随机读写,就是读写完上一个字符后,并不一定要读写其后续的字节,而可以读写文件中任意位置上所需要的字符。即对文件读写数据的在文件中的物理顺序一般是不一致的。在对文件的随机读取中,可以使用rewind函数,这个函数的作用是使文件位置标记指向文件开头,此函数没有返回值。fseek函数可以用来改变文件位置标记,其调用形式为fseek(文件类型指针,位移量,起始点),起始点用0、1、2代替,0代表文件开始位置,对应宏为SEEK_SET,1代表当前位置,对应宏为SEEK_CUR,2代表文件末尾位置,对应宏为SEEK_END。位移量指以起始点为基点,向前移动的字节数,位移量应是long型数据,在数字的末尾加一个字母l表示为long型。用ftell函数测定文件位置标记的当前位置。在调用各种输入输出函数(putc、getc、fread、fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查,调用形式为ferror(fp),如果ferror返回值为0,表示未出错,否则出错。在执行fopen函数时,ferror函数的初始值自动置0。clearerr函数的作用是使文件错误标志和文件结束标志置0。在文件出错以后,应该立即调用这个函数,使ferror(fp)的值变成0,以便下次的检测。
8.在面对大小端的问题时,其实有两个途径,一个就是在软件开发之前,就约定好用大端还是小端,或者就是在编程过程中,指针的操作严格按照所需的类型进行传递,不要出现int类型和short类型之间的转换等等
9.chars2[10];
s2[0] s2[1]等都是char
s2[0] s2[1]等都是char,是s2[0] s2[1]指向的字符串的第一个字符
s2是char,等同于&s2[0]
10.在编程中要学会抽象,就是抽象的层次越高,那么程序的复用率就会越高,就像现阶段自己所接触的这些工程,以及很多公司里面自己做的一些代码库,这些库就是这样一点点抽象并积累起来的。
Linux学习笔记六
最新推荐文章于 2024-01-04 17:38:16 发布