=1005&bbs_id=9999 1.“#if 0/#if 1 ... #endif”的作用我们知道,C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能,我们通常使用它写代码中说明性的注...
转载
2022-12-06 11:21:55
3782阅读
..
原创
2022-11-06 06:15:08
288阅读
1.一般格式#if 常量表达式程序段1;[#else程序段2;]#endif2.功能:当表达式为非0(“逻辑真”)时,编译程序段1,否则编译程序段2。[案例] 输入一个口令,根据需要设置条件编译,使之能将口令原码输出,或仅输出若干星号"*"。#define PASSWORD 0 /预置为输出星号/main(){ …… /条件编译/#if PA...
原创
2022-05-20 13:39:50
105阅读
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)第一个作用:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容#include<cstdio>增加这条语句char a = ‘A‘; // global va
转载
精选
2013-12-27 20:07:26
512阅读
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)第一个作用:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 #include<cstdio>增加这条语句 char a = ‘A‘; // glob
原创
2013-03-06 15:33:00
607阅读
 (1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 (2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储
原创
2014-06-04 15:54:00
560阅读
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
转载
2014-06-20 17:48:00
53阅读
2评论
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
转载
2014-08-16 14:09:00
105阅读
2评论
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
转载
2014-06-26 12:33:00
31阅读
2评论
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
转载
2014-08-11 18:32:00
74阅读
2评论
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序猿优化,还有一种是由编译器进行优化。编译器优化经常使用的方法有:将
转载
2014-11-09 20:25:00
48阅读
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
转载
2014-07-28 10:01:00
120阅读
2评论
加这条语句char a = ‘A‘; // global variablevo
转载
2023-06-18 00:26:37
82阅读
#ifndef, #define, #endif 作用#ifndef 它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条件编译。 在sqlite源代码中大量使用了条件编译。如下:#ifndef MIN# define MIN(A,B) ((A)<(B)?(A):(B))#...
原创
2021-08-24 15:47:47
676阅读
1 作用 防止头文件被重复包含和编译。 头文件重复包含会增大程序大小,重复编译增加编译时间。 解释:#ifndef起到的效果是防止一个源文件多次包含同一个头文件。那么一个源文件为什么会两次包含同一个头文件呢? 你写的test.cpp里包含了a.h和b.h,a.h里包含了b.h,所以b.h就会被包含和 ...
转载
2021-07-28 17:39:00
2006阅读
2评论
C语言中内联函数到底有什么作用?试想一下,每当我们在假设就在主函数中调用另外一个函数的时候,那么这个函数就要入栈或者出栈,比如说下面的一个例子:点击(此处)折叠或打开Void myprint(){Printf("%d",3);}Void main(){Int i;For(i=0;i<100;i++)Myprint(2);}在主函数中调用myprin()函数打印2这个数字,那么我们就要调用函数
转载
精选
2015-11-15 12:41:08
482阅读
/*1.宏定义中使用#或##作用2.宏定义函数使用*/1.#把语言符号转字符串2.##字符串拼接#include <stdi
原创
2022-07-11 16:04:16
274阅读
在C语言中, static的字面意思很容易把我们导入歧途, 其实它的作用有三条。 ??)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时, 所有未加static前缀的全局变量和函数都具有全局可见性。 我举例来说明。 一个是a. c, 另一个是main. c的内容 顺序的运行后果是: 你能够会问:为什么在a. c中定义的全局变量a和函数msg能在main. 其它的
转载
精选
2011-04-01 05:20:41
291阅读
#ifndef、(或者#ifndef)、#def、#endif等宏这几个宏是为了进行条件编译。一般情况下,
转载
2022-10-25 05:48:45
183阅读
一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif它的作用是:当
转载
精选
2016-02-18 13:37:34
680阅读