• 条件编译


    一,#pragma

    这个命令是定义编译器的状态以及指示编译器做某些事情。我们只介绍常见的一些。

    (1)#pragma once  这个加到.h文件头前面,这样就表示.h文件只被编译一次,当然是在没有被改变的时候。

    (2)#pragma comment(lib,“自己编写lib所在路径”)这条命令告诉链接器在链接时候链接这个库。当然你也可以再project setting(vc)中进行添加这个lib。

    二,#ifdef/#endif,#ifndef/#endif,#if …#else/#endif.这些命令是条件编译,告诉编译器满足一定条件时候才进行编译。光说不干,等于扯淡,直接上程序。

    (1)#ifdef/#endif,#ifndef/#endif用法

    结果是:3

    (2)#if …#else/#endif.用法

    说明:我们定义了宏vv=0;因此预编译时候宏处理,将vv全部替换成0,然后条件编译,因为我们vv=0;所以编译时#else的语句块,记住是语句块。

    首先我说明两个问题:第一,#if …#else/#endif.和if..else区别 是:编译时,编译器只会编译#if …#else的其中一个,则生成的程序文件(.exe文件)中只会有#if …#else语句块中的一个。如果用普通if语句,生成的程序文件就会有执行代码既有if的又有else的;还有就是if..else的语句块要用{},#if..#else不用。

    第二,输出的两个I am ok,而不是三个。语句不能和#if或#else一起写,否则并排写的这条语句是不会执行的。原因不知道,有大神可以告诉一下

    不要做一个似懂非懂的人,做一个脚踏实地的程序员
  • 相关阅读:
    小学生二元四则运算(F)
    补进度条
    附加作业
    个人总结
    第四 五周结对作业(照片)
    第四,五周——Java编写的电梯模拟系统(结对作业)
    第三周(JAVA编写的 wordcount)
    第三周续(读代码)
    第三周
    第二周续.(代码)
  • 原文地址:https://www.cnblogs.com/xuexiaohei/p/4149229.html
Copyright © 2020-2023  润新知