草庐IT

C++标准

全部标签

c - clang 是独立的 C 编译器还是需要 gcc?

我想在Windows上使用clang来编译C代码。我想知道它是否实际上是一个可以做到这一点的独立编译器,或者它的目标是否有些不同?我以前用过它,但现在看来它是在任何gcc编译器(例如mingw)之上搭载的。如果我尝试全新安装clang64位二进制文​​件(并且我隐藏了我的mingw/gcc目录),那么它找不到HelloWorld的stdio.h。这是直接从bin目录(C:\clang\bin)中运行的。如果我取消隐藏mingw,它会编译,但是我会得到这样的错误(一个mingw编译器在c:\win中):c:\win\bin\ld.exe找不到-lgcc_s考虑到clang是一个438MB

c++ - 对 SetThreadErrorMode()、SetErrorMode()、_set_error_mode() 和 _CrtSetReportMode() 的混淆

我有一个用C++编写并使用VisualStudio2015编译的命令行应用程序。我需要确保此应用程序在自动、无人值守的功能测试期间不会被错误对话框阻止,特别是在断言失败的情况下(标准assert()来自)。我最初认为https://stackoverflow.com/a/6925695/393756中建议的以下调用会做这项工作,但它没有:_set_error_mode(_OUT_TO_STDERR);通过试验,我最终发现以下代码达到了预期的效果,至少在涉及到失败的断言对话框时:SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORB

windows - 如何在 Windows 上安装 Agda 的标准库?

我在C:\Users\name\AppData\Roaming\agda中创建了一个文件libraries.txt我已经插入了标准库的路径,因为它安装在我的电脑上:“C:\Users\name\Desktop\agda-stdlib-master\standard-library.agda-lib”,它说我找不到它。有什么解决办法吗? 最佳答案 文件名应称为libraries(不带扩展名)而不是libraries.txt。您可能需要从命令提示符执行此操作(移动libries.txt库)

windows - 从 Windows 调用 Linux 进程并接收标准输出

我在我们公司有一个遗留应用程序建立在......啊哈;经典VB(VB6)。它有一个运行在Linux服务器上并用Java开发的优化器(CPLEXMIPSolver)组件。如果我们想提供一个WindowsUI来调用远程linux服务器上的优化器实例;我该如何实现?优化器将输出有关其进度的消息,它需要显示在UI上。目前我想到了两个选择。使用PLINK调用linux进程。不确定它是否可以将STDOUT带到windows。构建一个小型Java应用程序并将其作为守护进程加载到Linux服务器上并通过TCP进行通信。希望得到专家的建议。感谢您的帮助! 最佳答案

c - 在 Visual Studio 中构建大量小工具有什么好方法?

假设您有一些来自unix世界的源代码。这个源代码由一些文件组成,这些文件将创建一个库和许多编译成命令行工具的小.c文件(比如20个左右),每个文件都有自己的main()函数,这将使用该库。在unixy系统上,您可以使用makefile轻松地完成此操作,但对windows/VisualStudio世界最天真的转换涉及为每个工具创建一个单独的项目,尽管它可以工作,但需要大量的设置和工作在文件系统和项目/解决方案级别同步并且更难以导航。我考虑过使用不同的配置,其中除了一个.c文件之外的所有文件都被排除在构建之外,但这会使一次构建所有工具变得不可能。是否有一种从单个“事物”(项目、msbuil

windows - 如何检索标准按钮的本地化文本/标题?

我想在我的窗口中添加"is"和“否”按钮。它有点类似于标准MessageBox,所以我想在这些按钮中使用本地化的字符串。IE。"is"和“否”应使用操作系统的当前语言书写。我该怎么做? 最佳答案 没有简单的答案。您可以尝试从Microsoft获取翻译词汇表,或使用他们的在线翻译工具(关于here的更多信息)。其他“hacks”涉及读取user32.dll的字符串资源-但这仅适用于操作系统的本地化版本(即,如果您使用位于EN-US版本之上的MUI,则无效)。我喜欢在线翻译或词汇表方法,因为它可以证明应用程序不受任何futureAPI更

c - 使用 ANSI C 在 Windows 平台上传输 FTP 文件?

我在另一台WindowsPC上有一个已知的共享文件夹,我必须使用我的ANSIC程序将文件传输到使用FTP连接的共享文件夹。我需要一些指导-请指导我。 最佳答案 ANSIC标准不包含任何网络库。如果你可以使用第三方库,那么你需要一些东西libcurl或其他一些C网络库或使用Winsock从头开始​​创建FTP客户端. 关于c-使用ANSIC在Windows平台上传输FTP文件?,我们在StackOverflow上找到一个类似的问题: https://stacko

c - 如何最好地处理 Windows 的 16 位 wchar_t 丑陋?

我正在编写一个与mingw一起使用的包装层,它为应用程序提供了一个虚拟的UTF-8环境。处理文件名的函数是从UTF-8转换并调用相应的“_w”函数等的包装器。我遇到的最大问题是Windows的wchar_t是16位的。对于文件系统操作,这没什么大不了的。我可以在UTF-8和UTF-16之间来回转换,一切正常。但是标准的C多字节/宽字符转换API不允许多wchar_t字符。可能的解决方案:提供CESU-8环境而不是UTF-8。我真的不喜欢这个。走捷径,只支持BMP。将长度为4的UTF-8序列视为无效。扩展包装器以将mingw的wchar_t替换为typedefint32_twchar_t

c# - 我正在为 cmd 编写包装器,但在重定向标准输入时遇到问题

好的,这就是我正在做的事情——我想编写一个将标准输出/输入重定向到富文本框的.net应用程序。我已经让它工作得很好,但是一旦我将标准输入添加到混合中,我的读取命令就会卡住。这是我表单中的相关代码。Shell=newProcess();Shell.StartInfo.FileName="cmd";Shell.StartInfo.UseShellExecute=false;Shell.StartInfo.WindowStyle=ProcessWindowStyle.Hidden;Shell.StartInfo.CreateNoWindow=true;//Shell.StartInfo.Re

代码在 Windows 中有效,但在 Linux 中无效!为什么? 【简单的指针问题】

这是运输问题的工作代码片段(删除了实际功能。这里只有输入和输出功能。顺便说一句,这是不正确的)#include#includetypedefstructtransport{intcost;intalloc;}TRAN;voidproblem_input(TRAN**,int*,int*,int,int);voidproblem_display(TRAN**,int*,int*,int,int);intmain(){intn_dest;intn_org;inti;intj;printf("\n\n\tEnterNumberOfDestinations:");scanf("%d",&n_d