当前位置:首页 » 编程软件 » 编译时间宏

编译时间宏

发布时间: 2022-01-13 12:52:47

A. 宏替换只是字符替换,不占用编译时间是不是正确

宏是在预编译期间进行的,将代码中的指定字符转换
转换结束后,再进行编译
所以不占用编译时间

B. 关于c语言中内置宏__DATE__和 __TIME__

这两个就是字符串常量,当字符串用就行。

__DATE__:当前的编译日期
__TIME__:当前编译时间;

#include<stdio.h>
#include<string.h>
intmain()
{
printf("%s,%s ",__DATE__,__TIME__);
printf("长度DATE=%d,TIME=%d ",strlen(__DATE__),strlen(__TIME__));
return0;
}

C. 什么是编译时间

用户使用编译程序对其个人编制的源程序进行编译的过程称为程序编译。编译时间(compiling time) 指编译程序将源程序编译成目标程序所占用的时间。

1 如何减少编译时间
一是执行每日自动构建。每日自动构建的原理很简单:安装每日构建工具CCNET(不熟悉该工具的同学可以去搜索下)。然后在源码服务器上安装编译环境。源码服务器每天获取最新代码,每天下班后开始编译最新代码,经过一个晚上基本上就能把库和应用程序都编好,到了第二天开发人员只需下载最新的库文件和代码文件而不须自己重新编译。这样就能大大节省时间了。
二是使用联合编译器IncrediBuild。这个工具估计大家都不陌生。最近试验了一个新想法,写一个批处理文件,将SVN和IncrediBuild绑在一起,实现了从源码更新到工程编译。


2 批处理文件的命令语法
svnupinclude//更新服务器的include文件夹到本地
BuildConsoleD:\Code\MySolution.sln/prj="MyApp"/build/OpenMonitor/cfg="Debug|Win32"
BuildConsole是IncrediBuild的命令行工具,
D:\Code\MySolution.sln是你的解决方案文件绝对路径,
/prj参数设置你要编译的工程,如果你要编译多个工程,可以这样设置,/prj="prj1,prj2,prj3",
/prj参数也支持通配符,/prj="*"即为编译MySolution.sln下的所有工程
/build为编译工程,若改为/rebuild即是清理重编工程。
/OpenMonitor为打开IncrediBuild的图形化界面,去掉该参数则不出现图形界面。
/cfg为编译设置选项,如要编release版本,可以改为Release|Win32。
把上面的代码保存为BuildDebug.bat,把文件保存在D:\Code\路径下(即源码根目录,下面有include、src和vs三个文件夹),然后运行这个批处理文件就相当于把从更新源码到编译源码这一系列动作都执行了。

D. 编译时间是不是就是使用的时间

若使用的是vivo手机,编译时间是手机系统软件版本编译完成的时间,新手机的系统编译时间通常会早于手机出厂和购买时间的。

E. MDK里如何把编译时间嵌到代码里

确实是__DATE__ 和 __TIME__ 宏来实现参考范例:
unsigned char code DataStr[]=__DATE__;
unsigned char code TimeStr[]=__TIME__;
这样,编译后TimeStr的字符 ...

F. c语言,说宏展开是在编译时进行的,啥意思啥叫编译时进行的

c语言编写出来的代码叫源代码,是供人看的,如果想让机器执行,需要转换成机器语言,这个转换过程就叫编译。
在c语言中定义的宏,在编译时,会展开(或叫替换)为实际的语句,如:
#define MAX 100
void main()
{
int a=MAX ;
printf("a=%d\n", a );
}
这里MAX是个宏,当编译时,这段代码就会变成:
void main()
{
int a=100; //这里的MAX会变成100
printf("a=%d\n", a );
}
这就是宏展开、宏替换,然后编译器,按这样子的源代码进行编译,生成执行程序

G. 在下列有关宏替换的叙述中,正确的说法是 A)宏替换占用运行时间

  1. 宏名用大写字母表示只是个习惯,大小写都行;

  2. 宏替换不占用运行时间,只占编译时间;因为宏替换发生在编译预处理阶段,预处理也是编译工作的一部分。

  3. 宏名无类型;

  4. 宏替换只是字符替换;

  5. 带参数的宏替换和函数不等价;

所以答案选D。

H. C语言:#define N 5 不占用运行时间,那么占用编译时间吗

是滴。宏定义不占运行时间,但占用编译时间。
宏是简单的文本替换,函数调用有开销的。 编译链接后才能运行!

I. 谭浩强的书上说宏替换不占运行时间,只占编译时间,可宏替换不是在预处理时就解决了么不会占用编译时间吧

不占用
程序从源码到可执行文件,主要包括以下几个过程:预处理器进行预处理(预处理器),接着有时候可能进行预编译,接着是编译(编译器),接着是连接(连接器)(产生可执行文件)。不过现在的好多集成平台都把前面三步放到一起了。

J. C语言中宏替换占不占用运行时间

1.
宏替换不占用运行时间。宏替换是在编译时,编译器完成的。占用编译时间。
2.
编译时,编译器会将代码中的宏用对应定义好的代码进行直接替换,然后再对源代码进行编译。
3.
所以宏比函数在运行时更快,因为它不用像函数调用时,要对现有数据进行入栈保存,运行完后,在出栈恢复;它是直接编译好的代码。

热点内容
单片机android 发布:2024-09-20 09:07:24 浏览:765
如何提高三星a7安卓版本 发布:2024-09-20 08:42:35 浏览:664
如何更换服务器网站 发布:2024-09-20 08:42:34 浏览:311
子弹算法 发布:2024-09-20 08:41:55 浏览:289
手机版网易我的世界服务器推荐 发布:2024-09-20 08:41:52 浏览:817
安卓x7怎么边打游戏边看视频 发布:2024-09-20 08:41:52 浏览:162
sql数据库安全 发布:2024-09-20 08:31:32 浏览:94
苹果连接id服务器出错是怎么回事 发布:2024-09-20 08:01:07 浏览:507
编程键是什么 发布:2024-09-20 07:52:47 浏览:658
学考密码重置要求的证件是什么 发布:2024-09-20 07:19:46 浏览:481