草庐IT

lib_case

全部标签

c++ - 使用 std::string 在 switch-case block 中返回字符串常量

注意:这不是关于使用字符串来选择switch-caseblock中的执行路径。C++中的一个常见模式是使用switch-caseblock将整数常量转换为字符串。这看起来像:charconst*to_string(codescode){switch(code){casecodes::foo:return"foo";casecodes::bar:return"bar";}}但是,我们是在C++中,所以使用std::string更合适:std::stringto_string(codescode){switch(code){casecodes::foo:return"foo";caseco

c++ - 为什么某些 IDE 不缩进 switch 中的 case 语句?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whydon'tpeopleindentC++accessspecifiers/casestatements?我有一个语法问题...不是关于如何,而是关于为什么。许多IDE,例如Eclipse和QtCreator会自动缩进一个switch,如下所示:DayrandomDay=getRandomDay();/*returns'enumDay'*/switch(randomDay){default:caseMonday:/*...*/break;caseTuesday:/*...*/break;/*...*/}我

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++ - 在 switch 语句中使用 vector 时出现 "Jump to case label"错误。

这个问题在这里已经有了答案:Whycan'tvariablesbedeclaredinaswitchstatement?(23个回答)关闭9年前。这是代码,当我添加其他大小写或默认值时,会出现几个错误。我找不到任何基本错误,例如缺少分号等,并且当我只有一种情况时,代码可以正常工作。我搜索了switch教程,但我没有发现任何关于vector和switch语句混合的问题。intmain(){intr;while(cin>>r){switch(r){case3:inty=0;coutnums;intx;while(cin>>x){nums.push_back(x);y++;}sort(num

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++ - 使用 visual studio 导入 lib 文件

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

c++ - 视觉 C++ : No devirtualization in obvious cases?

在看visualc++(VS2017RC)生成的代码看到简单情况下的动态分支(虚拟调用)时,我感到非常惊讶。所以我用编译器资源管理器尝试了以下代码:structBase{virtualvoidfoo()=0;};structImpl:Base{voidfoo()override;};Implg_impl;voidglobalCall(){g_impl.foo();}voidlocalCall(){Impli;i.foo();}voidtempCall(){Impl().foo();//dynamicbranchinggenerated!}structClass{voidmemberCa

c++ - JNI_CreateJavaVM : Buffer overrun if I throw an exception in case of failure

在C++项目中,我使用JNI调用API来启动JVM。我已经围绕JVM做了一些包装,因此我可以以面向对象的方式使用所有需要的部分。到目前为止效果很好。现在,如果JVM没有启动(JNI_CreateJavaVM返回值JNI_CreateJavaVM之后抛出异常,我遇到缓冲区溢出。如果我在没有JNI_CreateJavaVM调用的情况下引发异常,它会按预期工作。有人知道这里的问题是什么吗?或者如何调试?环境:Windows、VisualStudio2008JDK:jrockit27.6jdk16005,但也发生在SUNstockone上干杯多米尼克 最佳答案