C
文章平均质量分 61
光利繁华的背后
每天都要有进步!制定战略,安排计划,实现任务!
展开
-
#define st(x) do { x } while (__LINE__ == -1)
#define st(x) do { x } while (__LINE__ == -1)1, __LINE__ 是个宏,它代表当前代码在源文件的行号,它是大于0的,所以__LINE__ == -1 等同于0,化简为:#define st(x) do { x } while (0)2,do {} while (0)通常用于宏中, 为的是避免如下情况:#define st(x)原创 2018-01-10 15:03:11 · 440 阅读 · 0 评论 -
可变参数函数的基本原理及使用实现
本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实现和封装,最后是可能会出现的问题和避免措施。 VA函数(variable argument function),参数个数可变函数,又称可变参数函数。C/C++编程中,系统提供给编程人员的va函数很少。*printf()/*scanf()系列函数,用于输入输出时格式化字符串;exec*()系列函数,用于在程序中执行外部文...原创 2018-08-10 17:34:13 · 646 阅读 · 0 评论 -
Linux下Makefile中动态链接库和静态链接库的生成与调用
https://blog.csdn.net/u011964923/article/details/73297443转载 2018-10-29 14:51:09 · 1868 阅读 · 0 评论 -
__attribute__ ((packed)) 和 __attribute__ ((aligned(4)))用法
1、 __attribute__ ((packed))的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。2、 __attribute__ ((aligned(n)))的作用就是告诉编译器在编译过程中按照n字节对齐。常常用来在结构体后面进行修饰。下面通过一段代码来进行测试#include <stdio.h> /*编译器默认...原创 2018-11-21 14:52:22 · 4279 阅读 · 0 评论 -
关于__attribute__中section部分的一些了解
转:https://blog.csdn.net/sadshen/article/details/9419267__attribute__这个关键词是GNU编译器中的编译属性,ARM编译器也支持这个用法。__attribute__主要用于改变所声明或定义的函数或 数据的特性,它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn表示没有返回值、pure...转载 2018-11-21 16:33:32 · 2024 阅读 · 0 评论 -
#、##、__VA_ARGS__和##__VA_ARGS__的作用
一、#用来把参数转换成字符串例子一: #define P(A) printf("%s:%d\n",#A,A);int main(int argc, char **argv){ int a = 1, b = 2; P(a); P(b); P(a+b); system("pause");}...转载 2018-11-23 16:03:23 · 392 阅读 · 0 评论