C语言
C语言奇技淫巧
失去的青春---夕阳下的奔跑
这个作者很懒,什么都没留下…
展开
-
C语言 UNUSED 避免编译器警告
gcc编译:gcc huang1.c -Wunused-parameter -Werror。一、有些编译器,会启动告警信息,导致编译失败。原创 2023-03-16 20:16:05 · 717 阅读 · 0 评论 -
C语言 字节相关
3、64位系统unsigned long: 8个字节;32位系统unsigned long: 4个字节;64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存。1、int、float占字节相同,全部占4字节。2、指针类型,64位占8字节,32位占4字节。原创 2023-03-16 16:45:32 · 40 阅读 · 0 评论 -
C语言 预防死锁
避免使用嵌套锁:如果一个线程获得了一个锁,然后试图在持有该锁的情况下获得另一个锁,则可能会发生死锁。总之,预防死锁的方法主要是避免锁的嵌套使用,使用统一的锁获取顺序,设置锁的超时时间,使用非阻塞方法以及使用递归锁等。使用递归锁:递归锁允许一个线程多次获得同一个锁,从而避免了死锁。设置锁的超时时间:如果一个线程无法在指定的时间内获取锁,则该线程应该退出。使用非阻塞方法:如果一个线程无法获取锁,它应该返回,而不是阻塞。统一锁的获取顺序:所有的线程都按照相同的顺序获取锁,从而避免了死锁。原创 2023-04-27 22:38:32 · 221 阅读 · 0 评论 -
C语言 enmu枚举
enmu 枚举常量都是有值的,默认从0开始,一次递增1,也可以在自定义的时候赋上初值。原创 2023-05-03 14:15:36 · 76 阅读 · 0 评论 -
C语言 常见运算
【代码】C语言 常见运算。原创 2023-05-04 17:25:06 · 28 阅读 · 0 评论 -
C语言 常见问题解决
【代码】C语言 常见问题解决。原创 2023-04-26 19:36:30 · 212 阅读 · 0 评论 -
C语言 好用的宏
三、得到指定地址上的一个字节或字。五、得到一个字的高位和低位字节。四、求最大值和最小值。原创 2023-04-26 19:40:48 · 117 阅读 · 0 评论 -
C语言 关键字volatile
关键字可以用来声明一个变量为“易变量”,意味着这个变量在任何时刻都可能被意外修改,因此编译器不能对其进行优化。在某些情况下,我们需要对特定的内存地址或指针进行直接修改,而不是对变量进行操作。关键字来确保对该变量的读写操作都是精确无误的,避免对其进行优化导致数据不一致。所谓的“易变量”,就是这种并发场景下的变量。用于声明一个变量,告诉编译器这个变量的值可能在程序中随时改变,因此不得对它进行优化,确保对变量的操作的精确性和可见性。类型,避免编译器优化,保证内存的直接访问和修改。原创 2023-05-05 11:05:38 · 46 阅读 · 0 评论 -
C语言 宏__builtin_expect的使用
编译器优化原创 2023-03-16 14:24:32 · 265 阅读 · 0 评论