草庐IT

c++ - 用 clang++ 生成的可执行文件变得疯狂

#include#include#include#includeusingnamespacestd;classBook{public:inta;intb;};intmain(){Bookb1;b1.a=10;b1.b=20;cout当我们编译上面的代码时clang++test.cc-oa.exe并运行a.exe完美运行。但是当我们用编译同一个程序时clang++test.cc-emit-llvm-S-oa.exe现在当我们运行它时,程序会启动ntvdm.exe(可以在进程资源管理器中看到)并且命令提示符开始表现得很奇怪。软件堆栈:clangversion2.9(tags/RELEASE

c++ - 将大数据集硬编码为可执行文件?

我想将大量数据(可变长度的整数数组、文本字符串库等)直接硬编码到可执行文件中,因此没有其他文件。我的问题是,在C++中执行此操作的最实用和最有条理的方法是什么?根据头文件或源文件,我应该把数据放在哪里?我应该使用什么结构?我意识到这不是公认的数据处理方式。但请原谅我! 最佳答案 对于C++和C,您可以使用头文件来声明这些变量,然后将实际的初始化代码放入.c(或.cc)文件中。C和C++都有不错的初始化语法。例如:我的数据.h:externintx;externinta[10];externunsignedchar*s;我的数据.c:

c++ - 如何使用 pdb 调试现有的 C++ 可执行文件但没有源代码

我在已编译(Debug模式)的C++项目中工作。我有它的exe文件和pdb文件。我可以从命令行运行exe。如何调试项目?(我没有它的.sln文件。)我在VisualStudio中工作,但我的系统中也有一个cygwin。 最佳答案 从VisualStudio打开可执行文件,使用与打开项目或解决方案相同的方式。这将允许您对其进行调试。(它会在您的exe周围创建一个空的占位符解决方案,您可以在运行exe进行调试时使用它来更改环境变量或命令行参数。) 关于c++-如何使用pdb调试现有的C++可

c++ - 使用相似规则构建多个可执行文件

我正在写something就像C++的交互式教程。本教程将由两部分组成:一个被编译成一个库(我正在使用Scons构建它),另一个(类(class))随教程一起提供,由最终用户编译。我目前正在寻找一种方便人们构建这些类(class)的好方法。基本上,第二部分是一个包含所有类(class)的目录,每个类(class)都在自己的目录中。每节课至少会有一个lesson.cpp和一个main.cpp文件,可能还有其他的文件,具体有没有我不知道已发货——最终用户将创建这些。它看起来像这样:all_lessons/helloworld/lesson.cppmain.cppeven_or_odd/le

c++ - 如何从 Node 在 Heroku 上运行可执行文件,在本地工作

这是我的第一个SE问题。通常我可以通过这个很棒的网站很容易地找到任何问题的答案,但不幸的是这次我无法在这里或其他地方找到我正在寻找的任何东西。让我解释一下问题:我编写了一个C++程序来进行一些数值计算。它接受命令行参数并写入标准输出,在我运行OSX的系统上运行良好。我想为我的同行在线托管它以便更轻松地试用它,因此我编写了一些Node.js和Express代码来从表单中获取输入并将其作为命令行参数提供给可执行文件。然后,我按以下方式执行名为“factoriser”的二进制文件:constexec=require('child_process').exec;app.post('/',fun

c++ - C 程序,打印其可执行文件名

假设源代码文件名为test.cpp。编译时,它会生成test.exe文件。当我执行它时,它应该识别它的文件名test.exe并打印它。我可以使用以下代码获取当前目录中存在的所有文件和目录的列表:DIR*directory;structdirent*direct;direct=readdir(directory);但是,我如何识别关联的文件名,在本例中为"test.exe"? 最佳答案 在您的main函数中,argv[0]是来自命令行的可执行文件的名称#includeintmain(intargc,char**argv){printf

c++ - 如何通过 C++ 可执行文件中的 list 启用 "Long Path Aware"行为?

我正在尝试关注Microsoftdocumentation解除Windows10下API中的MAX_PATH文件路径限制。它说:Youcanalsoenablethenewlongpathbehaviorperappviathemanifest:true所以,第一个问题。是否可以在VisualStudio2017的项目属性中启用它?第二个问题:我没有找到上面的答案,所以我决定走手动路线:我创建了additional.manifest文本文件:true然后我将它添加到项目属性中:但是当我编译它时,它给了我这个警告,并且该list在应用程序运行时似乎没有任何效果:1>additional.

c++ - 从可执行文件中找出编译优化标志

这里我有一个可执行文件,不知道它的构建环境,假设使用的是gcc/g++。有没有办法找出编译期间使用的优化标志(如O0、O2等)?欢迎使用所有方法,无论是通过分析二进制文件还是通过gdb进行调试测试(如果我们假设-g标志在编译期间可用)。 最佳答案 如果幸运的话,命令行会出现在可执行文件本身中,具体取决于所使用的操作系统和文件格式。如果它是Elf文件,请尝试使用来自GNUbinutils的objdump转储内容 关于c++-从可执行文件中找出编译优化标志,我们在StackOverflow上

c++ - 在 32 位操作系统上生成 64 位可执行文件

我正在使用C++开发32位WindowsXP操作系统。但我必须为64位Windows7操作系统构建一个可执行文件。我应该怎么做?我不想运行可执行文件,我只想生成它。另外,如果还需要了解处理器,请问我。我在这些网站上读到了一点,crosscompilingforx64和msdnarticleoncrosscompiling.但是里面很多东西我都看不懂。任何人都可以逐步向我解释如何处理这个问题。除此之外,谁能告诉我什么是cmake?也可以在安装结束后查看我是完整安装VisualStudio还是默认安装。 最佳答案 如果您使用的是Visu

c++ - Ubuntu 上的 Cmake 可执行文件在哪里

尝试使用qt4creatorIDE在ubuntu中创建一个普通的c++项目。该向导会打开一个对话框并显示“请指定cmakeexe的路径”。不确定在哪里寻找任何帮助非常感谢提前致谢 最佳答案 我几乎可以肯定它在它的正常位置:/usr/bin/cmake。 关于c++-Ubuntu上的Cmake可执行文件在哪里,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/16844454/