当前位置:首页 » 编程软件 » cpp获取代码编译的时间

cpp获取代码编译的时间

发布时间: 2022-08-06 23:44:34

① *c和*cpp文件编译问题

如何你将改的代码依然放在扩展名为cpp的文件里,你在VC中选择将这个文件用c来编译。
重载的函数起不同的名字,C++中的inline函数一般是在头文件中定义的,在转变为c应将它的定义放在源文件中,取消inline申明。
引用数据类型在c中是不存在的需要改为指针型。
c语言中变量申明一般要放在函数的前面,而c++中可以放在使用的地方,需要改变后这些变量申明位置。
for(int i = 0; i < n; ++i)这是c++的语句,而在c中是不允许的,需要
int i
...
for(i = 0; i < n; ++i)

② C++编译时,是从哪一个cpp开始的,然后各cpp的编译顺序是如何定的

所有的C程序都是从main函数开始的(当然,如果main函数上边还有全局变量等等还会从他们开始执行),而你所说的编译顺序说白了,就是程序中的头文件在代码中放置的顺序和嵌套的顺序……
你只看包含有main函数的.cpp,然后把所有的头文件展开,就自然明白了……

③ 工程中用不到的cpp文件怎么能够在运行的时候不编译以节省时间

不是用不到楼主,是看你改的哪里的代码.
如果你改动的地方被别的.cpp .h所引用了,那么你改的地方编译了,必然导致别的地方也会编译一遍.
如果你改的地方没有被别的地方引用,那么除非你重新编译,否则是不会全部给你重新编译的.

④ C++输出系统当前时间,并保存于文件中,求解

不太明白你c写的转换为c++的意思,.c写的本来就可以直接复制到.cpp作为c++代码进行编译

利用time.h 获取时间是c/c++的标准方法,也就是说,这样写出来的代码,windows和linux都能用;
而system("time")不是c++专用的方法,c语言也可以用,它本质就是在命令行cmd输入命令time 一样,只能显示出结果,无法获得返回值。我估计你是因为这个无法写入文件。

我推荐你是用timer.h来获取时间

给你一段代码参考吧,可以获取当前的时间(c/c++都可以):
#include<time.h>
time_t timeSec=time (NULL); //获取1970.1.1至当前秒数time_t
struct tm * timeinfo= localtime ( &timeSec ); //创建TimeDate,并转化为当地时间,
//struct tm * timeinfo = gmtime ( &timeSec ); //创建TimeDate,并转化为GM时间,
printf ( "The current date/time is: %s\n", asctime (timeinfo) );
//获取年 月 日 时 分 秒 对应的int值:
printf("%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
---------------------------------------------------------------------
有了上面的时间获取方法,要写入文件也是很简单的了:

FILE *fp=fopen("xxx.txt","w");
fprintf(fp, "%d-%d-%d %d:%d:%d\n",timeinfo->tm_year+1900,timeinfo->tm_mon+1,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);

⑤ c++primer3中,有一句话:“在多个文件之间编译相同的函数模板定义增加了不必要的编译时间”……

简单点说,对于一个vector<int>的函数,比如size(),如果在不同的cpp中出现,在这些文件编译的时候都要把vector<int>::size()编译一遍。然后在链接的时候把重复的函数去掉。很显然增加了编译时间。

补充里你的理解是错的,模板的声明是不编译的,更没有空间,它根本不是实际的类型或函数,编译器根本不管它。只有实例化的时候,才生成真正的类型、函数,而实例化的地方不在一起,必然造成同一个类型、函数被编译了多次。反观类的编译,只在它的cpp中编译一次,其他地方都使用它的头文件得到声明。

⑥ CPP文件是什么文件

是C++语言中的源文件,是用来写程序实现代码的。

⑦ vs2013打开的cpp文件如何编译

Visual Studio无法对单个源代码文件直接编译。

VisualStudio工程(.sln)编译需要许多的参数,比如头文件源文件,依赖库等。如果没有他们,强大的Studio只是废物。


解决思路:

建立一个空VisualStudio工程->导入源代码->编译运行。


Step1 建立空项目

1.1 打开VisualStudio,按快捷键Ctrl + Shift + N,即可弹出新建项目的窗口。

(或,文件(FILE)->新建(NEW)->工程(Project)即可弹出新建项目的窗口。)


⑧ Linux里面.cpp文件编译的问题

直接vi操作:wq保存退出的时候就自动生成了文件 以下是一个简单的例子可以说明 $vi h.cpp h.cpp的内容如下: #include int main() { std::cout

⑨ cpp文件是怎么变成可执行文件的动态链接库又是什么呢

1.cpp是编译产生2进制代码,这个2进制代码就是exe
2.qt库就是一大堆已经写好的函数,跟你引用<stdio.h>就能输入输出一样,引用了QT就能写图形。
3.makefile是用来帮助计算机编译C源文件的。在linux里面比较常用,告诉了计算机,要编译我的C源文件,需要什么版本的编译器,需要什么包,什么头文件,如果不满足就提示,如果满足就编译,还记录了C源文件的位置(因为不止一个),编译之后放到哪。等等。
4.静态链接库是lib,在编译的时候,将里面的代码直接写入exe中,随身带。
dll因为里面东西比较通用,一般电脑都有,所以在用的时候从系统里面拿就行。于是就不写这部分了,只标记在哪个dll里面。

热点内容
java客户端程序 发布:2024-05-04 08:08:11 浏览:938
腾讯视频账号和密码哪里看 发布:2024-05-04 08:08:11 浏览:449
专网数据存储安全问题分析 发布:2024-05-04 07:33:28 浏览:130
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:417
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:262
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:425
javajs引擎 发布:2024-05-04 06:37:33 浏览:798
javalist重复 发布:2024-05-04 06:19:27 浏览:511
max脚本管理 发布:2024-05-04 06:02:31 浏览:45
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:126