C语言性能优化与基础知识


性能优化篇

1. 代码中使用代码块可以及时回收不再使用的变量,提高性能。

   变量的作用域从定义变量的那一行代码开始,一直到所在代码块结束。

2. 带参数的宏定义效率比函数高。简单的运算可以用宏定义来完成。

3. 当一个函数被调用很多次,而且函数中某个变量值是不变的,

   应该将此变量声明为static(只会分配一次内存),可以提高程序效率。


基础知识篇

1. 宏定义只是简单的字符替换

   #define MX 100+200   int a=MX*10  (a=2100)

2. 逗号运算符,连接数个小语句为一条语句,运算顺序从左到右

   printf(“nihao”) , printf(“hello”);

3. 进制与数字表示

   二进制 0b       八进制 0         十六进制 0x

4. for (语句1 ; 条件 ; 语句2){ 循环体 }

   for开始会执行一次语句1(整个for循环只会执行一次)

5. while( 判断语句 )

   条件成立,判断语句会执行多次。

6. printf输出:

   %d      int

   %f      float/double

   %ld     lang

   %lld    long long

   %c      char

   %s      字符串

   %zd     unsigned long

7. gcc编译器用法:

   1) 仅将原始码编译成目标文件  gcc -c hello.c

   2) 在编译的时候,依据作业环境给予优化执行速度  gcc -O hello.c –c

   3) 在进行binaryfile制作时,将连接的函数库与相关路径填入 

   4) gcc sin.c -lm -L/usr/lib -I/usr/include

      -lm指的是libm.so或libm.a  (小写L)

      -L后面接的路径是上面函数库的搜寻目标

      -I后面接的是原始码内的include档案所在目录 (大写i)

   5) 将编译结果输出成某个特定档案名  gcc -o hello hello.c

   6) 在编译的时候输出较多的信息说明  gcc -o hello hello.c –Wall

8. 预处理指令都是以#开头,预处理指令分3种:

   1) 宏定义

   2) 条件编译 (一般是判断宏的值)

   3) 文件包含

   预处理指令在代码翻译成01之前执行,预处理指令的位置是随便的,

   作用域从编写指令的那一行开始直到文件结尾。


原文地址:https://www.cnblogs.com/coderkl/p/4320317.html