草庐IT

lib_main

全部标签

c++ - 我需要分发一个头文件和一个带有 DLL 的 lib 文件吗?

我正在为客户更新DLL,由于公司政策等原因,我的公司决定不再与客户共享源代码。以前。我假设他们拥有所有源代码并将其作为VC++6项目导入。现在他们必须链接到预编译的DLL。我想,至少,我需要分发带有DLL的*.lib文件,以便可以定义DLL入口点。但是,我还需要分发头文件吗?如果我可以不分发它,客户将如何将DLL导入到他们的代码中? 最佳答案 是的,您需要将header与您的.lib和.dll一起分发为什么?至少有两个原因:因为C++需要知道库中函数的返回类型和参数(粗略地说,大多数编译器使用namemangling来将C++函数签

c++ - 使用 visual studio 导入 lib 文件

我正在尝试导入如下文件:#import"francais.dll"它告诉我它无法打开源文件“C:/xxxx/Proj/Release/francais.tlh”库文件存在于Proj中。如何解决? 最佳答案 它不是一个“库文件”,它是一个COM服务器。#import指令从嵌入在francais.dll中的类型库自动生成.tli和.tlh文件。它无法加载该.tlh文件没有明显的原因,该DLL可能有问题。从这里很难看到。请确保您没有忽略之前的错误,从“错误列表”窗口的顶部开始。作为基本检查,您可以自己查看该类型库。从VisualStudi

c++ - main 不能为空

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:doesc++standardprohibitthevoidmain()prototype?为什么C++不允许我执行voidmain()?这不是什么大问题,但我仍然很好奇。

c# - C、C++、Java、C# 中的 main()

在C、C++、Java或C#中,main()(或Main())是用户定义函数还是内置函数? 最佳答案 它是程序执行所必需的用户定义函数。当你用编译语言运行你的程序时,main函数被执行。例如,在Java中,如果你在一个类中有一个签名函数publicstaticvoidmain(String...args)那么这个类就可以被执行,因为JVM将执行main方法。Java示例:publicclassTest{publicstaticvoidmain(String...args){System.out.println("HelloWorld

c++ - Clrdump (C++) 错误 LNK2019 : unresolved external symbol __imp__RegisterFilter@8 referenced in function _main

我正在使用带有pvcs编译器的makefile系统(使用MicrosoftVisualC++,2008编译器),我收到了几个以下形式的链接错误:errorLNK2019:unresolvedexternalsymbol__imp__RegisterFilter@8referencedinfunction_main尽管使用了extern"C"声明,但还是会发生这种情况,即:extern"C"intCLRDUMP_APIRegisterFilter(LPCWSTRpDumpFileName,unsignedlongDumpType);此外,在makeexe.mak中,库链接如下:$(编译库

c++ - 全局变量和main中的变量有什么区别?

MyClassGlobalVar;intmain(){MyClassVarInMain;} 最佳答案 一些事情:通常,它们被分配到不同的地方。局部变量分配在栈上,全局变量分配在别处。main中的局部变量仅在main中可见。另一方面,可以在任何地方访问全局变量。 关于c++-全局变量和main中的变量有什么区别?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/830463/

c++ - 异步 lib​​pcap : losing packets?

我有一个程序向主机发送一组TCPSYN数据包(使用原始套接字)并使用libpcap(带过滤器)来获取响应。我正在尝试在异步I/O框架中实现它,但似乎libpcap缺少一些响应(即当它花费少于100时的系列的第一个数据包TCPSYN和响应之间的微秒)。pcap句柄设置如下:pcap_t*pcap=pcap_open_live(NULL,-1,false,-1,errorBuffer);pcap_setnonblock(pcap,true,errorBuffer);然后我添加一个过滤器(包含在filterExpression字符串中):structbpf_programfilter;pca

c++ - 是否可以创建一个静态库(单个 .lib 文件),稍后可以使用/MT、/MTd、/MD 或/MDd 进行编译?

我不想创建4个不同的库(一个用于MT,MTd,MD,MDd),而是想创建一个未指定其对C运行时库(CRT)的依赖性的库。我尝试将“/c/Zl”选项传递给vc10编译器,然后将/NODEFAULTLIB传递给lib命令。稍后当我使用这样的库时,当我使用不同于默认/MT的开关编译我的程序时,我仍然有错误。例如/MD这里有几个第一个错误:msvcprt.lib(MSVCP100.dll):errorLNK2005:"public:classstd::basic_ostream>&__thiscallstd::basic_ostream>::operator>&(__cdecl*)(class

c++ - 使用 Angus Johnsons 的 Clipper lib 中的 OffsetPolygon 时多边形中的奇数 "notches"

此代码的最终目标是确保客户定义的形状实际上可以由我们的……呃,机器加工。为此,我们将指定的形状向内偏移钻头的半径,然后向外退回相同的量,从而将任何太细而无法实际装入钻头的部分四舍五入。对于多边形偏移,我们使用AngusJohnson的Clipper库,版本5.1.6(c++)。但是从图片中可以看出,这会产生一些意想不到的形状。在图片中,我使用ClipperLib::OffsetPolygon通过-radius偏移原始形状(绿色,大部分被后来的绘图覆盖)以获得黄色形状,然后通过半径偏移以获得红色形状.理论上,对于链接中所示的情况,这应该会导致红色形状与绿色形状完全匹配。导致上述结果发生的

c++ - 是什么导致 VS2013 错误 LNK2005 : __xi_a already defined in MSVCRT. lib(cinitexe.obj)?

我的解决方案是昨天构建的。今天,除了.hpp和.cpp文件外,它没有改变任何东西。VisualStudio2013的完整错误文本(使用2013年11月CTP):Error1errorLNK2005:__xi_aalreadydefinedinMSVCRT.lib(cinitexe.obj)C:\Users\drtwox\dev\repos\game\trunk\engine\game\LIBCMT.lib(crt0init.obj)gameError2errorLNK2005:__xi_zalreadydefinedinMSVCRT.lib(cinitexe.obj)C:\Users\