草庐IT

仅在 Windows 中的 C 程序编译器警告 (MinGW-w64)

我构建了一个多语言软件图像处理程序,并使其普遍适用于MacOSX和Ubuntu的二进制文件。二进制文件已经在各自的操作系统上进行了测试,一切正常。我最近还尝试发布适用于Windows(64位)的二进制文件,但是当我创建共享库(dll)文件时,GCC(通过MinGW-w64)编译器针对其中一个C程序发出了警告。这在MacOSX或Ubuntu中没有发生。以下是C文件中的警告和相应的代码行:warning:passingargument3of'_beginthreadex'fromincompatiblepointertype[enabledbydefault]第464行:ThreadLis

无法在 linux 和 windows 中编译 pgbouncer

我正在尝试编译pgbouncer以在运行在WindowsServer2008中的PostgreSQL服务器中使用。但是我根本无法编译dll,同样的错误出现在linux(ubuntu)和Windows中:checkingforlibevent...configure:error:notfound:cannotproceed我正在关注thishowto.我已经使用mingw在Windows中编译了libevent并将生成的dll复制到System32、SysWOW64甚至在自己的pgbouncer目录中。我做错了什么? 最佳答案 con

c++ - C/C++ 声音操作系统 API

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我有一个关于声音的问题。我以前在我的项目中使用过像OpenAL这样的声音库。我需要的是了解这些库使用的底层操作系统API。即使每个库都提供了一种简单的方法来操作输入文件根据格式,非常基本的“原始字节到字节,发送给驱动程序”函数必须存在。我的意思是,肯定有一个默认的api(一个用于Windows,另一个用于Linux)这些图书馆使用。我不认为他们直接使用每个声音卡的驱动程序,因此操作系统必须以某种方式发挥魔

c - 是否有来自低级库(如 kernel32.dll 或 ntdll.dll)的 wsprintf() 类型函数?

我正在编写一个低级记录器函数,它将文本字符串附加到文本(日志)文件的末尾。要求是此函数不应调用来自DLL的任何WinAPI,这些DLL可能尚不可用于该进程——例如当它从DllMain调用时处理程序。换句话说,它不能使用除了保证加载到任何用户模式进程中的库之外的任何库,即kernel32.dll或ntdll.dll.我可以通过CreateFile、WriteFile、CloseHandle、HeapAlloc、HeapFree等均来自kernel32.dll。问题在于格式化输出字符串。例如,我需要添加一些额外的(自动生成的)详细信息,例如当前时间、进程ID、sessionID等。我通常会

sql-server - 从跨平台应用程序连接到 MS SQL Server

我正在开发一个GUI应用程序,该应用程序将用于对AI算法生成的大型数据集执行“手动评估”。评估的性质对这个问题并不重要;只是程序需要从服务器定期检查新数据,下载,然后上传结果,用户产生。就这个问题而言,每个数据集只是一个二进制blob。将托管数据的机器当前设置有MicrosoftSQLServer。出于管理原因,我可能不得不使用SQLServer(而不是在同一台机器上运行的Web服务器)来存储数据。我知道SQL,但我怀疑我在学习Microsoft版本的SQL时会遇到困难。这是困难的部分:该程序需要在MacOSX和Windows上运行。我在Windows开发方面没有太多经验,我的大部分代

c++ - 修剪我的 "working set"对没有页面文件的系统有什么影响?

一位客户提示我的程序使用了太多内存。然而,在与他们合作一段时间后,我意识到:他们关闭了页面文件(在他们的终端服务框中)。他们担心我程序的任务管理器中“私有(private)工作集”的大小。所以,我的问题是,如果我只是在我的程序启动后使用EmptyWorkingSet()修剪工作集的大小(它在XML解析期间使用大量内存但随后将其删除,但工作集不会似乎下降了)我可以让工作集数字下降。然而,这真的能帮助客户吗?我有一种感觉,这只是意味着工作集将被分页,我相信如果您关闭了页面文件,工作集无论如何都会由实际内存支持....任务管理器报告的“私有(private)工作集”真的是我的程序有多少新的/

c++ - Bullet Physics Engine静态库安装问题

嘿,所以我刚刚下载了bullet2.78,并采取了以下步骤:解压缩并找到这个tutorial完全按照Cmake的步骤进行操作,除了我发现教程中的图片检查了一些东西,比如INSTALLLIBS而我没有,所以我最终检查了所有可能的东西。进入新生成的BULLET_PHYSICS.vcxproj并在debug和release下构建它看到我在msvn/BulletBuild/lib的lib文件夹中有一堆新的库,但没有对它们进行任何操作完全按照教程中的其余步骤设置实际项目尝试构建最后一行代码:失败想知道我需要dll,因为只有.libs和pdbs出现在lib文件夹中,而教程没有提到它们我在重建库方面

c++ - 如何使用 assert(..) 函数避免 CRT 对话框

在Windows中有没有一种方法可以避免使用assert(..)函数失败时出现CRT对话框?我喜欢将错误消息打印到控制台。如果我们不在优化版本中定义NDEBUG来实现此目的,是否可以使用CrtReportMode(..)?-卡特里 最佳答案 您可以使用_CrtSetReportMode和_CrtSetReportFile将输出发送到文件(在本例中为stderr)。_CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE)_CrtSetReportFile(_CRT_ASSERT,_CRTDBG_

c++ - 作为 DLL 的 GIT C/C++ 库

我想知道是否有人可以推荐JGit之类的库,但它是用C/C++编写的。本质上我们需要的是dll文件,我们可以将其与我们的应用程序捆绑在一起以初始化repo并每天从repo中提取数据。 最佳答案 我用了3秒的谷歌搜索才得出:libgit2. 关于c++-作为DLL的GITC/C++库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8038135/

c++ - poco c++ 库静态链接与/MT 错误

我在poco库中使用加密包。应用程序已发布/MT,我链接到PocoCryptomt.lib、PocoFoundationmt.libPocoCryptomt.lib是用静态vcopenssl库libeay32mt.lib构建的我用这个代码#definePOCO_STATIC#include#include#include#include#includeusingnamespacestd;usingnamespacePoco::Crypto;typedefstd::vectorByteVec;voidmain(){unsignedchark[]={49,17,199,69,242,178