C++编程->预编译指令小结-创新互联-成都快上网建站

C++编程->预编译指令小结-创新互联

首先了解一下预编译函数:

创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目网站建设、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元石龙做网站,已为上家服务,为石龙各地企业和个人服务,联系电话:18980820575

 #include   包含一个源代码文件
 #define    定义宏
 #undef     取消已定义的宏
 #if        如果给定条件为真,则编译下面代码
 #ifdef     如果宏已经定义,则编译下面代码
 #ifndef    如果宏没有定义,则编译下面代码
 #elif      如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
 #endif     结束一个#if……#else条件编译块
 #error     停止编译并显示错误信

#include小结:

1. #include 和#include 区别

#include 是老规范,现已经抛弃

#include 是新规范,使用名称空间避免名称冲突。即将所有的定义放在了一个名称空间std中

2. #include 和#include "iostream"区别

#include 直接在系统的路径下查找此头文件。多是系统的头文件

#include "iostream"首先在当前目录查找,如果没有找到再到系统目录查找

3. 头文件的多次包含问题

编译器对每个文件只编译一次生成一份机器代码.obj,如果在多个地方包含了同一个头文件,则会出现多次包含的错误,即试图让编译器将此文件编译多次生成多份机器代码。

预编译保护解决此问题。

 #ifdef   #ifndef   #define   #endif 条件编译小结

   #ifdef DEBUG  // 测试DEBUG是否已经定义
   #ifndef DEBUG // 测试DEBUG是否没有定义
   #define         // 定义DEBUG
   #endif               // #ifdef或者#ifndef语句结束

   C++中,定义头文件时,为了避免头文件被多次引用而造成的重复定义,需要将整个头文件内容包含在下面的预编译指令中(假设头文件为file.h):
   #ifndef FILE_H
   #define FILE_H
   // 头文件的内容
   #endif

常见的预编译常量小结

   __plusplus    // 编译C++程序时编译器自动定义
   __STDC__   // 编译C程序时编译器自动定义
   __FILE__     // 当前编译的文件名 
   __LINE__     // 当前编译文件的当前行
   __DATE__   // 编译文件时的日期 
   __TIME__    // 编译文件时的时间

   其中,__FILE__与__LINE__在编译期间是不断更新的,其他四个变量在编译期间固定。

  assert()
   C语言定义的预编译宏,断言某个表达式为true;若为false,则抛出异常。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:C++编程->预编译指令小结-创新互联
文章来源:http://kswjz.com/article/hsoeg.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流