工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 工控上位机 查看内容

C++月薪2W的一道笔试题!入口函数不是main函数了一样编程

2019-3-19 20:44| 发布者: 198366809| 查看: 14| 评论: 5|原作者: 198366809

摘要: 最近看到这样一道题,感觉很有意思吗 ,据说是月薪2W的笔试题,当然 了,肯定还有很多题了,所以 就算你会这道题并不表示你能月薪2W哈哈哈。 好了进入主题: 要求修改一下程序,写代码使整个程序运行后输出“hello w ...
最近看到这样一道题,感觉很有意思吗 ,据说是月薪2W的笔试题,当然 了,肯定还有很多题了,所以 就算你会这道题并不表示你能月薪2W哈哈哈。

好了进入主题: 要求修改一下程序,写代码使整个程序运行后输出“hello world”不允许修改main函数,在强调一下不能修改main函数。

不允许修改main函数,这下仿佛我们就没辙了,因为我们学习C/C++语言的时候,明确说明main函数是程序的主函数,也是程序的入口函数,可是现在主函数为空,那怎么会执行子函数呢?

其实这个笔试题考察的不是我们对基本知识的理解,而是要学会发现问题解决问题的能力,有时候,当一条路走不通的时候,我们就要换一条路,实则C++是可以修改入口函数的。

这里需要一个C++预编译标识符 #pragma comment() 来帮助我们搞定这个问题。使用的是:pragma comment( comment-type ,["commentstring"] )。
  • comment-type:一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。
  • commentstring:一个提供为comment-type提供附加信息的字符串。

这里我们需要使用linker来修改链接设置:#pragma comment(linker, "/entry:print");
看到了么?通过/entry参数来设置程序链接时候的主函数为print,这样,就相当于print函数是整个程序的主函数,他替换了main函数的作用,相反的,main函数则成为了一个子函数 完整的代码和运行结果如图所示:



v2-58d53521d97d2ccb0cd94b21d55a1e64_hd.jpg

路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

kong 2019-3-19 20:49
绝对干货,楼主给力,支持了!!!
陈成果 2019-3-19 20:51
看了楼主的帖子,不由得精神一振,豁然开朗,牛掰
clg845958 2019-3-19 20:53
楼主您的技术水准,我最服你,其他都是浮云
497705263 2019-3-19 21:04
看了楼主的帖子,不由得精神一振,豁然开朗,牛掰
cjs1971 2019-3-19 21:20
老师四个微信公众号都可以关注吗?是否有免费资料下载!

查看全部评论(5)

QQ|免责声明|本站介绍|工控课堂 ( 沪ICP备14007696号-3 )|网站地图

GMT+8, 2019-3-21 23:25 , Processed in 0.033612 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部