草庐IT

LIB_PRAGMA_OMP

全部标签

c# - 在 C# 程序中使用 .lib 文件

我有一个头文件和一个使用C++创建的.lib文件。现在我想在C#程序中使用它。这可能吗? 最佳答案 您可以创建一个托管包装器,请在此处查看分步说明:http://tom-shelton.net/?p=95 关于c#-在C#程序中使用.lib文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17858805/

c++ - 将 COFF lib 文件转换为 OMF 格式

有什么方法可以将COFF库(lib文件)转换为OMF库以便与C++Builder6一起使用?这个coff不仅仅是导入库,它包含一些代码。当我尝试使用borland的coff2omf.exe转换它时,我从15KB的文件中得到了1KB的文件。 最佳答案 您可以使用http://agner.org/optimize提供的对象文件转换器,而不是DigitalMars转换器。ThisutilitycanbeusedforconvertingobjectfilesbetweenCOFF/PE,OMF,ELFandMach-Oformatsfor

c++ - 需要对#pragma once 做一些澄清

我搜索了所有关于什么的澄清#pragma一次对于我仍然有的一些问题,实际上找到了并且无法找到明确的答案。是#pragma一次确保包含在其中的头文件仅被调用一次,以及包含在所述头文件中的头文件尚未包含在内?另外,如果只调用一次,是否意味着需要特定header的.cpp文件将无法访问它?如果头文件标有#pragma一次并包含在.cpp中,该头文件是否可以在其他地方再次使用?这些是我没有找到的澄清。抱歉,如果有文档在某处澄清这一点,但我真的找不到任何足够具体的东西。 最佳答案 #pragmaonce只保护单个翻译单元中的单个文件,不计算其

c++ - #pragma 弃用基于签名的函数?

在VisualStudio中,是否可以根据函数的签名而不是简单的名称来#deprecated一个函数?在我的例子中,我们使用的是C++,不想弃用该函数的所有风格intfoo(); 最佳答案 只需这样做:__declspec(deprecated)voidfoo(int){}并且如果您希望编译器在编译已弃用的函数时生成特定消息,请执行以下操作:__declspec(deprecated("foo(int)isadeprecatedfunction."))voidfoo(int){} 关于c

c++ - "#pragma once"是否有可能导致错误?

我所有的头文件都使用includeguards以及pragmaonce:#pragmaonce#ifndefFILE_NAME_H#defineFILE_NAME_Hclassfoo{//foointerface..};#endif/*FILE_NAME_H*/我知道pragmaonce不是标准的,并且在编译器之间可能不一样,但它是否有可能导致错误?以某种方式先测试它是否可用会更好吗?#ifdefTHIS_COMPILER_SUPPORTS_PRAGMA_ONCE#pragmaonce#endif#ifndefFILE_NAME_H#defineFILE_NAME_Hclassfoo{

c++ - 使用#pragma once 有什么危险?

这个问题在这里已经有了答案:Is#pragmaonceasafeincludeguard?(15个答案)关闭5年前。现代C和C++编译器支持非标准的#pragmaonce预处理器指令,其目的与经典的头文件保护类似:#ifndefhopefully_unique_identifier_that_doesnt_hurt_the_code#definehopefully_unique_identifier_that_doesnt_hurt_the_code//somecodehere#endif一个问题,我知道,经典的方法是,一旦你包含了一个标题,你必须#undef标题保护宏来再次包含它(这

c++ - lnk1104 : cannot open 'LIBC.lib' LINK

在使用GLee为我的OpenGL项目编写着色器并编译后,我收到错误LNK1104:无法打开文件“LIBC.lib”。我试过按照其他人的建议添加并忽略它,但并没有解决任何问题。有没有其他方法可以解决我错过的这个问题? 最佳答案 这里有几种可能的解决方案:这可能是由于代码生成冲突。如果您的libc.lib的线程支持与您项目的设置不同,这可能会导致问题。如果是这样,右键单击project,然后转到properties->C++->codegeneration->RuntimeLibrary并将值更改为Multi-threaded(MT).

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

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

c++ - 使用#pragma 优化的代码的可移植性如何?

使用#pragmaoptimize的代码的可移植性如何?大多数编译器都支持它吗?对此#pragma的支持有多完整? 最佳答案 #pragma是编译器添加非认可和不可移植语言扩展的认可和可移植方式*.基本上,您永远无法确定,并且至少有一个主要的C++编译器(g++)不按原样支持此pragma。*:来自C++标准(N3242):16.6Pragmadirective[cpp.pragma]Apreprocessingdirectiveoftheform#pragmapp-tokensoptnew-linecausestheimpleme

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

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