草庐IT

dev-main

全部标签

c++ - 如何找到在 c++ main 之前调用的代码函数

如何找到在c++main之前调用的代码函数?我试图找到调用哪些函数以便通过函数初始化静态变量并因此在main之前执行。 最佳答案 在GCC情况下,您有:__CTOR_LIST__(listofinitializationfunctionscalled-pointers)__DTOR_LIST__(listoffunctionscalledforcleanup)它们由编译器为每个翻译单元(C/C++文件)自动生成。您可以找到关于此的更多信息here.对于其他编译器,这一定是相似的,但您可以使用像objdump这样的实用程序来“猜测”它

c++ - 错误 LNK2019 : unresolved external symbol referenced in function main

我正在尝试用C++运行我的简单汇编代码。我只有两个文件“.cpp”文件和“.asm”文件。编译时出现错误(见下文)。如果有人能提供帮助,我将不胜感激...:)这是我的“main.cpp”文件#includeusingnamespacestd;extern"C"intGetValueFromASM();intmain(intargc,char*argv[]){cout我还有一个简单的“asm.asm”文件.codeGetValueFromASMprocmovrax,3254retGetValueFromASMendpend尝试构建时出现此错误:1>main.obj:errorLNK201

C++:错误 LNK2019:函数 _main 中引用了未解析的外部符号

我有一些C++代码。鸟.hclassBird{std::strings;staticinti;public:Bird();~Bird();friendstd::ostream&operator鸟.cpp#include#include#include"Bird.h"Bird::Bird(){++i;std::stringstreamss;ssmain.cpp#include#include#include"Bird.h"intBird::i=0;intmain(){Birdb();std::cout我收到以下错误:Main.obj:errorLNK2019:unresolvedexte

c++ - 将 WinMain(或 wWinMain)参数传递给普通的 main

如果您尝试将构建类型从Console(/SUBSYSTEM:CONSOLE)更改为Windows(/SUBSYSTEM:WINDOWS),您将收到一个错误提示该条目缺少WinMain点:我认为解决这个问题的最好方法是从WinMain调用您的普通intmain(int,char**):#ifdef_WINDOWS_INTWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRlpCmdLine,INTnCmdShow){returnmain(0,NULL);}#endif问题是ImageMagick正在使用控制台参数(我也计划在未来使用

c++ - (Ubuntu 14.04) apt-get libopencv-dev,但出现错误 : Unable to correct problems, 你持有损坏的包

正在读取包列表...完成构建依赖树正在读取状态信息...完成无法安装某些软件包。这可能意味着你有请求一个不可能的情况,或者如果你使用的是不稳定的一些必需的包尚未创建的分发或已移出传入。以下信息可能有助于解决问题:Thefollowingpackageshaveunmetdependencies:libopencv-dev:Depends:libopencv-objdetect-dev(=2.4.8+dfsg1-2ubuntu1)butitisnotgoingtobeinstalledDepends:libopencv-highgui-dev(=2.4.8+dfsg1-2ubuntu1)

c++ - 将 C++ main 方法移动到其自己的文件时出现编译器错误

我这里有世界上最简单的程序。我想你们中的一些人只需要一秒钟就能找出问题所在。foo.h:#ifndefFOO_H#defineFOO_Hnamespacefoo{charstr[20];voidbar(char*s);}#endiffoo.cpp:#include"foo.h"usingnamespacestd;namespacefoo{voidbar(char*s){return;}}foo_main.cpp:#include"foo.h"usingnamespacestd;usingnamespacefoo;intmain(void){bar(str);}现在,当我尝试将这三个编译

c++ - 在 main() 中定义全局变量

我想根据ma​​in();的输入(具体来说是数组大小)来定义全局数组(用于其他函数)。extern关键字没有帮助。#includeusingnamespacestd;voidgen_sieve_primes(void);intmain(){intMaxNum;cin>>MaxNum;int*primes=newint[MaxNum];delete[]primes;return0;}//functionswherevariableMaxNumisused 最佳答案 在全局范围内定义即可intMaxNum;intmain(){cin>>

c++ - 在 main() 的线程中调用对象成员函数

这个问题在这里已经有了答案:Startthreadwithmemberfunction(5个答案)关闭8年前。我发现了很多关于在类中创建新线程的信息(Passingmemberfunctionstostd::thread)但是否有可能以某种方式执行以下操作:#include#includeusingnamespacestd;classmyClass{public:myClass(){myInt=2;};voidmyFun(){++myInt;}intret_myInt(){returnmyInt;}private:intmyInt;};intmain(void){myClassmyOb

c++ - 如何强制 Visual Studio 使用 wmain 而不是 main

我需要解析unicode参数,所以我想使用wmain相反。所以代替intmain(intargc,char**argv)我想用intwmain(intargc,wchar_t**argv)问题是visualstudio无法识别wmain,而是尝试使用main:errorLNK2019:unresolvedexternalsymbolmainreferencedinfunction__tmainCRTStartup这是我尝试过的:更改属性->常规->字符集更改入口点(在这种情况下,我遇到了很多甚至没有入口点的库的兼容性错误,因此无法在那里指定)。warningLNK4258:direct

c++ - 仅当我将 stdout 重定向到/dev/null 时才会出现段错误?

我有一个C++单元测试,它向stderr生成有用的输出,并且大部分噪声(除非我正在调试)到stdout,所以我想将stdout重定向到/dev/null。奇怪的是,这样做似乎会导致段错误。是否有任何原因导致代码可能会使用“>/dev/null”出现段错误而在其他情况下运行良好?如果有任何影响,输出完全由printf产生。我很难发布有问题的代码,因为它是正在提交出版的研究。我希望根据此描述有一个“明显”的可能原因。事后分析段错误是由这样的代码引起的:ArrayElt*array=AllocateArrayOfSize(array_size);intindex=GetIndex(..)%a