![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
caozhigang129
从事芯片驱动开发与验证,嵌入式软件开发;
展开
-
c/c++基础知识点
知识点: 反汇编指令: 1. gcc x.c -g -o x; 2、objdump -S -d ./hello。-g是为了添加调试信息,objdump中的-S选项 为了在显示汇编代码的时候同时显示原来的C语言源代码程序。原创 2017-09-07 15:59:17 · 230 阅读 · 0 评论 -
输入、输出之间的区别
出处http://blog.csdn.net/xingjiarong/article/details/47282817 两者在接受字符串时: 1.不同点: scanf不能接受空格、制表符Tab、回车等;而gets能够接受空格、制表符Tab和回车等; scanf :当遇到回车,空格和tab键会自动在字符串后面添加’\0’,但是回车,空格和tab键仍会留在输入的缓冲区中。转载 2016-09-29 09:54:16 · 4349 阅读 · 0 评论 -
大小端系统的验证
目的:验证系统的大小端 #include int main(int argc,char **argv) { unsigned int a=0X12345678; /* 指针是加4个字节*/ printf("%p %p\n",&a,&a+1); unsigned char *p = (char *)&a;//强制类型转换,int * 至 char * /* 指针加1个字节*/ p原创 2017-10-19 21:18:35 · 506 阅读 · 0 评论 -
内存对齐
本文参考:http://blog.csdn.net/u011939264/article/details/51549338 一、内存对齐的原因 大部分的参考资料都是如是说的: 1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据 的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。 原转载 2017-10-26 12:48:06 · 226 阅读 · 0 评论 -
静态库和动态库的创建和使用
反汇编指令: 1. gcc x.c -g -o x; 2、objdump -S -d ./hello。-g是为了添加调试信息,objdump中的-S选项 为了在显示汇编代码的时候同时显示原来的C语言源代码程序。-d:将所有包含指令的段反汇编-s 将ELF文件格式的所有段以十六进制方式打印出来-h 显示ELF文件段表信息-S:将代码段反汇编的同时,将反汇编代码和源代码交替显示,编译时需要给出-g,即...原创 2017-10-30 22:13:14 · 256 阅读 · 0 评论 -
c语言中qsort 和 strtok函数用法
一、qsort的定义:自定义排序 void qsort( void *s, int cnt, sizeof(s[0], cmp));入参分别为首地址、个数、元素的字节数,排序方式; 整型排序: int cmp( const void *a, const void *b) //从小向大 { return(*(int *)a - *(int *)b ); } int cmp(...原创 2018-08-06 20:45:45 · 212 阅读 · 0 评论 -
Debug版本和release版本的用法
通过makefile 传入宏定义参数DEBUG,打印函数如下: #ifndef DEBUG #define debugprint(format, ...) {\ printf( (char*)format, ##__VA_ARGS__);\ } #else #define debugprint(format, ...) #endif 使用方法...原创 2019-03-18 22:53:11 · 394 阅读 · 0 评论