百科问答小站 logo
百科问答小站 font logo



最短的可以造成崩溃且编译器无法优化掉的 C++ 代码是什么? 第1页

  

user avatar   griaffragi 网友的相关建议: 
      

长度为0。

楼上各位给出的代码都十分精彩,但假如就“能过编译并生成可执行文件,并且可执行文件运行时会导致崩溃的代码”这一定义来说,最短的C++代码的长度是0,即空的".cc"文件。

操作过程如下(以linux命令行为例):

首先,创建空的".cc"文件。

       $ touch empty.cc     

之后用g++仅进行编译与汇编,而不进行链接。

       $ g++ -c empty.cc     

再用ld命令手动进行链接。

       $ ld empty.o   ld: warning: cannot find entry symbol _start; defaulting to 0000000000400078     

最后运行可执行文件,得到Segmentation fault。

       $ ./a.out   Segmentation fault (core dumped)     

注:以上均为linux命令行,实际C++代码长度为0。




  

相关话题

  为什么 Windows 系统 Program Files 这个经常用来装软件的目录,名称中有个空格? 
  你是如何自学R语言的? 
  学C#需要学好C++么? 
  WPF中如何在Parallel.For中利用Dispatcher.Invoke实时更新进度条? 
  为什么现在国内各大高校仍选用谭浩强的《C 程序设计》为教材? 
  最短的可以造成崩溃且编译器无法优化掉的 C++ 代码是什么? 
  人工智能趋势下,孩子学习编程有哪些意义,对未来发展有好处吗? 
  为什么有人在学习初段效率惊人,而在过了入门阶段之后兴趣与学习能力都迅速下降? 
  既然有些人喜欢开挂,为啥不开发一款网游,提供编程接口,允许玩家自行用各种软件,同时允许计算机参与计算? 
  C语言能用指针修改其他程序的地址的值吗? 

前一个讨论
C++ 语言会不会在十年内退出市场?
下一个讨论
为什么有了 500Ω 的电阻还要有 470Ω 的电阻?





© 2025-03-31 - tinynew.org. All Rights Reserved.
© 2025-03-31 - tinynew.org. 保留所有权利