草庐IT

external-system

全部标签

c++ - extern C 和 C++ 用于单个函数(bsearch/qsort)的目的是什么?

这个问题在这里已经有了答案:Isthespecificationof`bsearch`inC++11&C++14defective?(1个回答)关闭5年前。在浏览标准草案(N4527)时,我发现了以下段落([alg.c.library]):Thefunctionsignature:bsearch(constvoid*,constvoid*,size_t,size_t,int(*)(constvoid*,constvoid*));isreplacedbythetwodeclarations:extern"C"void*bsearch(constvoid*key,constvoid*bas

c++ - Visual Studio 2015 社区 - 'Visual C++ Project System Package' 错误

所以,这个问题我已经有一段时间了。当我尝试打开我的任何项目时,经常会收到以下错误:---------------------------MicrosoftVisualStudio---------------------------The'VisualC++ProjectSystemPackage'packagedidnotloadcorrectly.Theproblemmayhavebeencausedbyaconfigurationchangeorbytheinstallationofanotherextension.Youcangetmoreinformationbyexamin

c++ - 为什么 extern “C” 在这里分组 C++ 类(不是标题)?

我在搜索SVM库时遇到了BudgetedSVM.在源码中,我发现了一个不寻常的用法,就像这样:#sample.h#ifndefSAMPLE_H#defineSAMPLE_H//noheaderincludedornamespacedeclaredhere#ifdef__cplusplusextern"C"{#endif//noheaderincludedornamespacedeclaredtooclassSample:publicParent{public:Sample();~Sample();type0fun(type1val1,type2val2);...};#ifdef__cp

c++ - 如何正确使用 system() 在 C++ 中执行命令?

我是Windows下的C++编程新手。我正在尝试使用system()函数在C++代码中执行命令说cuobjdump:system("C:\\programfiles\\nvidiagpucomputing...\\cuobjdump.exe--dump-cubinC:\\..\\input.exe");输出:Usage:cuobjdump[options]接下来是cuobjdump的选项列表。当我执行这个程序时,我总是得到命令行中显示的cuobjdump帮助选项。就好像系统调用不解析文件名一样。我究竟做错了什么?我在使用createprocess时得到了相同的结果。选项--dump-c

c++ -/usr/bin/ld : cannot find -lboost_system-mt

我最近从boost1.40升级到了1.45,完全删除了以前的boost目录,下载了1.45的源代码并重建了我想要的库。然后我使用bjaminstall安装了这些库。我的机器上没有其他任何变化,但是,现在当我构建我的C++程序时,我收到以下链接错误:/usr/bin/ld:cannotfind-lboost_system-mt我搜索了,该文件确实不存在。似乎mt库不再是库的一部分-还是我遗漏了什么?我该如何解决这个问题? 最佳答案 好吧,我在ubuntu12.04(x86_64)上通过良好的scattergun方法解决了这个错误mak

c++ - 运行C++程序时出现"The system cannot find the file specified"

我安装了VisualStudio2010。我编写了一个简单的代码,我确信它是正确的,但不幸的是,当我运行该代码时,我收到以下错误。这是我的代码:#includeusingnamespacestd;intmain(){cout这是错误:Unabletostartprogram'C:\Users\Soheil\Desktop\Newfolder\sam\Debug\sam.exeThesystemcannotfindthefilespecified你能帮我解决这个问题吗?我应该在具体目录?我花了很多时间来解决这个问题还没有成功。 最佳答案

C++ : Extern C Functions inside a Namespace

我必须链接两个库,比如A和B。其中一些文件在两个库中是通用的。所以,我在命名空间内的库A中声明函数,比如abc。因此,在A和B中,函数func如下所示:[inA]namespaceabc{extern"C"voidfunc();}[inB]extern"C"voidfunc();在构建项目时,编译器会抛出链接错误,说明函数func的多个定义。是不是命名空间内的A中的函数func或者外部“C”函数是否存在问题。如果有,那么我该如何区分它们呢? 最佳答案 当您使用Extern"C"时,您将关闭名称修饰,因此您会丢失命名空间信息,因为C没

c++ - c++中extern的使用

我很难理解“外部”的工作原理。我搜索了谷歌,但似乎没有我正在尝试的特定示例如果我有一个引用one.h的文件main.cpp在其中我有一个名为LIST1的列表(这是一个100x100的双数组)所以我有双List1[100][100];请问如何在one.cpp中使用此列表?externdoubleLIST1[100][100]不工作:/main.cpp:#include"one.h"externdoubleLIST1[100][100];一个.cpp:voidone::useList(){for(j=0;j这就是我所拥有的。我得到的错误:1>main.obj:errorLNK2001:un

c++ - 将 main 声明为 extern "C"是否合法 C++?

作为一名低级程序员,我经常使用可执行文件的模块启动代码,因此我非常了解“crt0”之类的代码是如何工作的。在编写C++代码时,我通常将main声明为extern"C"以匹配C启动代码将要调用main。因此,我通常将此声明用于main(如果专门针对Windows,则使用wmain):extern"C"intmain(intargv,constchar*const*argv)extern"C"int__cdeclwmain(intargv,constwchar_t*const*argv)在main上使用extern"C"是否合法?另外,对于argv的类型,constchar*const*是

c++ - 为什么 system() 失败并显示错误代码 127?

在Linux系统上,我试图在运行时使用system()调用程序称呼。系统调用以不等于零的返回码退出。调用WEXITSTATUS在错误代码上给出“127”。根据系统的手册页,此代码表明/bin/sh无法调用:万一/bin/sh无法执行,退出状态将是执行exit(127)的命令的退出状态.我查了一下:/bin/sh是指向bash的链接.bash在那儿。我可以从shell执行它。现在,我怎样才能找出原因/bin/sh不能叫?任何内核历史或其他东西?编辑:在非常有用的提示(见下文)之后,我strace-f-p过程。这是我在system期间得到的称呼:Process16080detached[p