• 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之前执行,预处理指令的位置是随便的,

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


  • 相关阅读:
    深度学习一:安装MXnet包,实现MNIST手写数体识别
    深度学习二:Neural art:用机器模仿梵高
    【Stanford CNN课程笔记】1. Image Classification and Nearest Neighbor Classifier
    PHP之图形处理
    Ubuntu14.10+cuda7.0+caffe配置
    CentOS系统上编译、安装、配置OpenCV
    安装MXnet包,实现MNIST手写数体识别
    Neural art:用机器模仿梵高
    String to Integer (atoi)
    Wildcard Matching
  • 原文地址:https://www.cnblogs.com/coderkl/p/4320317.html
Copyright © 2020-2023  润新知