草庐IT

HDF5编译

全部标签

c++ - 假设任何 x86 编译的应用程序总是在 x64 版本下运行是否安全?

是否可以安全地假设任何x86编译的应用总是在编译该应用的同一操作系统的x64版本下运行?/p>据我所知,对于Windows操作系统,答案是"is"。Windowsx86仿真层也是出于同样的目的而构建的。但是,我只想再次确认这里的专家。Unix、Linux呢?有什么注意事项吗? 最佳答案 不,要运行x86代码,它需要在兼容或传统模式下运行。如果操作系统不支持在兼容模式下运行进程,程序很可能无法运行。Linux和IFAIKWindows目前支持兼容模式,看起来还有更多或多或少的支持。我的理解是NETBSD需要一个特殊的模块来支持它,因此

c++ - std::tuple get<T>(tuple) 中的重复类型 T - 编译时断言失败

我将可变参数存储到std::tuple中的对象构造函数到目前为止一切顺利。但是当使用存储的参数和std::get()调用对象函数时,我将被抛出一个我根本不理解的编译时断言失败。只有当所有参数都不是不同类型时才会发生这种情况。编译器错误信息是:msvc\14.16.27023\include\tuple(934):errorC2338:duplicatetypeTinget(tuple)如下所示:#include#includeusingnamespacestd;templatestructstore_in_tuple{tuplem_tuple_args;store_in_tuple(A

c++ - 你如何为 x64 编译静态 pthread-win32 库?

看起来已经做了一些工作来制作pthread-win32使用x64,但没有构建说明。我曾尝试使用VisualStudiox64交叉工具命令提示进行简单构建,但是当我尝试从x64应用程序链接到lib时,它看不到任何函数导出。它似乎仍在将lib编译为x86或其他东西。我什至尝试过将/MACHINE添加到makefile的适当位置,但没有帮助。有人让这个工作吗? 最佳答案 您可以使用vcpkghere.这是C++的Windows包管理器。它支持pthread构建以及其他开源库。我想使用静态pthread库。当我下载pthread时,我得到了

c++ - Windows 8.1 上的 clang-cl 编译错误

我刚开始在Windows上使用clang-cl3.7。我试图通过VisualStudio2015和命令行在我的WIN8.1机器上编译我的代码。不用说,在此之前,在同一个cmd中,我使用amd64选项运行了vsvarsall。这是我的代码:#defineUNICODE#include#includeintmain(){inta=0;if(0)__asm_emit0xE8elsea=3;if(IsDebuggerPresent())MessageBox(NULL,(LPCWSTR)L"Debuggerdetected!!",(LPCWSTR)L"!!!!!",MB_ICONWARNING|

c - Windows 和 *nix 编译检测

应该为Windows、Linux和嵌入式目标编译一个项目。该应用程序在主机或嵌入式目标上运行时具有行为差异。为了总结我的要求,这是表格:TargetCompilerBehaviorWindowsMSVC,gccAHostLinuxgccAEmbeddedLinuxcrosspltfgccB我希望创建一个可以自动识别编译器和环境差异的Makefile(无需手动传递参数/定义)。是否可以仅在C源文件级别使用条件编译来解决此类问题?到目前为止,我还没有使用automake。 最佳答案 autotools是为了解决这个问题。Makefile

c - Winpcap MinGW编译错误

我正在尝试使用适用于Windows的WinPcap4.1.1库,但我什至无法编译该库提供的示例源代码。我遇到了这些错误:'PCAP_OPENFLAG_PROMISCUOUS'undeclared(firstuseinthisfunction)'PCAP_SRC_IF_STRING'undeclared(firstuseinthisfunction)还有一堆警告:implicitdeclarationoffunction'localtime_s'implicitdeclarationoffunction'pcap_findalldevs_ex'implicitdeclarationoff

php - 在 Windows 上运行在 Cygwin 中编译的 C++ 可执行文件

想法我在Cygwin上使用G++编译了一个C++exe,我希望能够通过PHP将该exe的输出放入我的HTML中。也就是说,假设我有一个C++可执行文件“test.exe”,它输出“Hello,World!”运行时。那么按理来说,我应该可以做到将test.exe文件的输出发送到文件。问题我正在Win7上的本地WAMP服务器上对此进行测试。显然,Win7WAMP上的exec和system调用通过Windows命令提示符进行,这意味着它正在运行批处理而不是bash。出于某种原因,批处理不喜欢Cygwin编译的可执行文件,给出错误:"Theprogramcan'tstartbecausecyg

使用多个编译器编译 C 代码

我最近才决定学习C。我注意到我可以下载多个编译器。如果我为一个编译器编写C代码,它应该适用于所有编译器,对吗? 最佳答案 简短回答:是长答案:是的,但前提是(且不限于):您的代码不使用其他编译器不可用的编译器特定内容您的代码所依赖的库可用并在其他编译器上正确设置您的代码不调用/依赖未定义或实现定义的行为其他编译器使用与您当前的编译器大致相同的C标准进行编译。我会在想到的时候添加更多到列表中。 关于使用多个编译器编译C代码,我们在StackOverflow上找到一个类似的问题:

windows - 在没有编译器的 Windows PC 上安装 perl 应用程序和支持模块

我正在构建一个perl应用程序,它通过DBD::Pg模块与PostgreSQL数据库交互,并使用Perl/Tk作为它的GUI。它在我的系统上运行得相当好,但我正在设计它供家庭成员用于他们的业务。他们没有C++编译器,也不知道CPAN是什么。目标是不让他们因为必须加载c++编译器而陷入困境,并尽可能避免从源代码构建模块的所有麻烦。我需要将Tk模块连同StrawberryPerl(它包括开箱即用的DBD:Pg)一起安装到他们的计算机上。我该如何着手将此模块与我的应用程序一起包括在内,以便让我的最终用户使用起来更轻松?在安装过程中将我的整个C:\strawberry\perl\site\li

python - 如何从源代码为 Windows 编译 svn python 绑定(bind)?

我正在搭建一个新的svn+trac环境,svn服务器的版本是1.6.11,然后我找不到任何对应的预编译svn-python绑定(bind),最后我找到了以下线程:PythonSVNbindingsforWindows所以,我的问题是:如何从这些源代码进行编译?http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/ 最佳答案 win32svn项目,Windows的Subversion,alagazam,是颠覆的win32版本。截至20