随笔分类 - LANGUAGE-C
摘要:源代码 变量的存储 变量s1 存储在 .data里; 常量的存储 hello world 存储在哪里? 我们知道是 rodata里,看看位置吧: 结合反汇编 这里看到s1的位置是601038 , 查看main.s const 全局变量 const 可以将变量存储在哪里? rodata 这里,应该明白
阅读全文
摘要:从计算机中数据类型的存储方式,思考理解原码,反码,补码 1. 数据类型 首先,我们知道,在C中,设计了两个类型的数据: 1. 有符号数据类型 2. 无符号数据类型 2. 无符号数据类型 原码,反码,补码 在学习计算机的过程中,很快出现了:原码,反码,补码的概念。这里你肯定不会理解为什么要设计这个玩意
阅读全文
摘要:实现一个简单的计算动态链接库;升级动态链接库后,在不重新编译主程序的情况下,直接生效。 lib库: 生成动态链接库 主程序: gcc o main.out main.c /tmp/ccTdLhjj.o: In function `main': main.c:(.text+0x1b): undefin
阅读全文
摘要:``` #cat log.c #include #include #include #include #include #include #include #include "log.h" /* Log */ #define IDLE_MEM_CFG_PRINT_LOG 1 void ilog(const char *func, int line, char *fmt, ......
阅读全文
摘要:什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP(User Data Protocol,用户数据报协议)是与TCP相对
阅读全文
摘要:``` include include include include include include include define TARGET_FILE_NAME "/tmp/test" int main(void) { struct stat st; struct timespec start
阅读全文
摘要:![](https://images2018.cnblogs.com/blog/970272/201807/970272-20180729192638347-1718637029.png)
阅读全文
摘要:``` #include #include int main() { char a[50] = "nearby! "; int i, j; int count = 0; for (i = 0, j = 0; a[i]; i++) { if (a[i] != ' '){ a[j++]...
阅读全文
摘要:当字符数组的首地址,强制转化成 指针后: sizeof( ptr) 不为array的大小;
阅读全文
摘要:``` #cat /tmp/fff 10:hugetlb:/hello/06b11c9967cc0e106f5f4673246f671aa7388f623f58b250d9d9cb0f8c0f2b18 9:devices:/hello/06b11c9967cc0e106f5f4673246f671aa7388f623f58b250d9d9cb0f8c0f2b18 8:perf_event:/he...
阅读全文
摘要:``` include include include include include include include include include include include define MAC_SIZE 18 define IP_SIZE 16 // function declare i
阅读全文
摘要:cmake intro 原文请见 cmake使用总结(转)—工程主目录CMakeList文件编写 在 Linux 下进行开发很多人选择编写 makefile 文件进行项目环境搭建,而makefile 文件依赖关系复杂,工作量很大。采用自动化的项目构建工具 CMake 可以将程序员从复杂的 makef
阅读全文
摘要:From: https://blog.csdn.net/haoel/article/details/1602108 警惕UNIX下的LD_PRELOAD环境变量 前言 也许这个话题并不新鲜,因为LD_PRELOAD所产生的问题由来已久。不过,在这里,我还是想讨论一下这个环境变量。因为这个环境变量所带
阅读全文
摘要:这两个经常使用的函数,主要区别有: 1. strcpy 返回值是 类型 2. memcpy(x1, x2, sizeof(xx)); memcpy可以复制的类型很多; 如果你使用一个数组指针,则不能使用strcpy, 只能使用memcpy.
阅读全文
摘要:``` #cat snprintf.c #include #include #include struct student{ int age; char *name; }; int main(void) { /*t1 结构体指针*/ struct student *t1; t1 = malloc(sizeof(struct student)); t1->age = 11;...
阅读全文
摘要:定义结构体class ,class结构体中包含student 结构体指针 如何访问,赋值给class student? ./struct_find class num:1, name:class1 student name:jack, age:22 ``
阅读全文
摘要:``` #cat lstat.c #include #include #include #include #include #define MINORBITS 20 #define MINORMASK ((1U > MINORBITS)) #define MINOR(dev) ((unsigned int) ((dev) & MINORMASK)) int main(vo...
阅读全文