免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1461 | 回复: 6
打印 上一主题 下一主题

如何在代码里面获得g++的版本,请高手指示:) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-22 16:52 |只看该作者 |倒序浏览
如何在代码里面获得g++的版本,请高手指示

论坛徽章:
0
2 [报告]
发表于 2006-03-22 17:09 |只看该作者
代码里面?代码里面怎么得到编译器的信息呢?除非作者说明了.楼主的本意是不是在生成的二进制文件中得到这个信息呢?

论坛徽章:
0
3 [报告]
发表于 2006-03-22 17:13 |只看该作者
刚才试了一下,
printf("%s\n", __VERSION__);
能打印出系统版本, g++的版本可能也类似。
不过我没找到相应的值

论坛徽章:
0
4 [报告]
发表于 2006-03-22 17:14 |只看该作者
不是,我的意思是写一段代码,这端代码可以获取编译它本身的编译器的版本。
可能是同个某个宏,例如__cplusplus之类的。

论坛徽章:
0
5 [报告]
发表于 2006-03-22 17:18 |只看该作者
恩,应该是可以的,查查gcc里面有什么这样的宏吧

论坛徽章:
0
6 [报告]
发表于 2006-03-22 17:23 |只看该作者
晕! 我刚才没注意看!

__VERSION__  这个串里面第一段应该就是是g++版本号

论坛徽章:
0
7 [报告]
发表于 2006-03-22 17:56 |只看该作者

总于找到方法了,跟大家分享一把:)

找到方法了
#include <unistd.h>
#include <netinet/in.h>
#include <stdio.h>
#ifndef GCC_VERSION
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#endif /* GCC_VERSION */

int main()
{

        printf("compiler verion = %d\n", GCC_VERSION);
        return 0;
}
我的系统的到结果如下:
compiler verion = 2095
与g++ -v信息吻合
version 2.95.3 20010315 (release)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP