草庐IT

c - C上的系统编程

我想尝试开发系统软件,设备驱动程序。我知道C是低级编程语言,在这个范围内非常流行。哪种编译器更好用(只能使用C,不能使用C++)?哪些库用于系统相关的东西?操作系统窗口。 最佳答案 如果你想做Windows驱动程序开发,那么你应该看看WDK-WindowsDriverKit.它应该包含您需要的大部分内容,包括工具、header和库(以及文档)。 关于c-C上的系统编程,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c++ - CRT 和 WIN32 API

我,我想知道在Windows下哪里使用了CRT库。在形成win32API的每个dll中?仅靠visualstudio下开发的软件?换句话说,Windows操作系统是否通过使用CRT以外的其他东西来执行malloc,对文件的写入/读取等?谢谢 最佳答案 C运行时(如果是VisualStudio2010msvcr100.dll)包含C标准库函数的实现。C运行时以特定于平台的方式实现,在Windows情况下,它使用kernel32.dll(Win32API的一部分)中的函数来执行其任务。您可以使用DependencyWalker查看导出和

c++ - 如何在 visual studio 中链接 fmod 库

我只是windows编程的初学者,正在阅读有关它的教程。它说了一些关于菜单创建资源的内容。我在visualstudio2010工作,想知道如何创建这些资源(turorial说了一些关于将它们添加到我无法理解的编译器的内容)以进行菜单栏创建等简单的事情。请帮助我。(请记住,我是初学者,因此请尽可能详细解释。) 最佳答案 要实际使用附加功能,您必须包含header并指定包含header的目录,以便项目可以找到文件右键单击项目->属性C\C++->常规选项卡顶部元素是AdditionalIncludeDirectories-单击向下箭头并

c++ - 适用于 Windows 的 Memcached 客户端库

我想为我的C++应用程序使用memcached。为此,我需要一个客户端库,例如类似于mysqlclient。但是我真的很难找到合适的东西。一切似乎都只是linux,虽然有些声称与Windows兼容,但它们需要cygwin和其他我真正想避免的东西。所以我正在寻找的是带有头文件的预编译Windows库(最好),或者我可以使用VisualStudio轻松编译的东西。如果没有这样的东西,你认为我自己写它会是个坏主意吗?该协议(protocol)看起来很简单,我真的只需要基本命令(设置/获取等)。 最佳答案 你试过这个吗?http://cod

c - OpenSSL 库 : 2 on Linux libcrypto and libssl and more than 13 on windows. 我应该在 Windows 上链接什么来编译我的示例?

所以我看this示例代码:#include#include#include"openssl/sha.h"voidsha256(char*string,charoutputBuffer[65]){unsignedcharhash[SHA256_DIGEST_LENGTH];SHA256_CTXsha256;SHA256_Init(&sha256);SHA256_Update(&sha256,string,strlen(string));SHA256_Final(hash,&sha256);inti=0;for(i=0;i我应该将哪些库链接到我的项目以在Windows上编译它?

c - 使用 winHttpApi 或套接字发送大文件是否明智?

我需要使用HTTP协议(protocol)发送文件,但问题是我是否应该使用套接字,因为我有大文件?或者我可以使用WinHttpApi,例如:BOOLHttpSendRequest(__inHINTERNEThRequest,__inLPCTSTRlpszHeaders,__inDWORDdwHeadersLength,__inLPVOIDlpOptional,__inDWORDdwOptionalLength);并为我想要的文件使用lpOptional?我应该划分文件还是该API处理大文件?如果我使用HTTPapi,文件大小是否有任何限制,我应该分配数据吗?

c++ - 我可以使用哪些库来制作小型 Windows 程序?

也许你们中的一些人听说过http://suckless.org/以及他们的一套Unix工具。基本上,它们是一组程序,每个程序都旨在做一件事,但要做得好,同时仍然尽可能简单和资源较少。我一直在尝试寻找一种方法来使用C++在Windows上重现这种编程风格,但我所知道的所有库都会生成就其功能而言非常庞大的二进制文件。例如,即使是最简单的Qt,通常也有几兆字节大。我不反对将依赖项与可分发项一起打包,但我不想把它做到那种程度。二进制大小不是我的主要目标之一,但简单才是,而且像这样的大型库在结构上并不简单。如果二进制大小是您最关心的问题,您可以像kkreiger或恶意软件一样使用运行时压缩。一种

c++ - 使用 cygwin 为 windows 构建静态库

我正在尝试构建CGAL供我在VisualStudio2010下的项目中使用的Windows。CGAL需要GMP和MPFR库并在分发中提供它们。但是,它以lib+dll包的形式提供它们,而我希望它们以单个.lib文件的形式静态编译。所以现在我正在尝试将GMP和MPFR构建为Windows下的静态库。我按照建议将cygwin用于此目的here.在调用configure和make之后,我得到了带有.a扩展名和附加.la文件的输出库。我不太了解Unix的静态库,所以我建议它与.lib相同,只是扩展名不同。我将其重命名为.lib并链接到我的项目-它非常适合。第一个问题:我这样做是否正确?.a和.

php - 在 Windows 上为要在 PHP 中使用的 C++ 静态库创建 .so 文件

实际上我们需要在PHP中使用C++静态库,为此我们需要创建.so。具体来说,我们在Windows平台上工作,因此make/./configure等在这里无法用于制作php扩展,否则我们无法弄清楚。关于在Windows上为C++静态库创建“.so”文件或在Windows上为C++静态库创建生成和配置文件的步骤。提前致谢.... 最佳答案 扩展名为.so的文件通常unix-baseddynamiclibraries.在Windows中,它的等价物通常是一个.dll文件。对于PHP扩展,阅读themanual可能是个好主意。相关问题:c+

C++ - LoadLibrary() 是否实际链接到库?

我正在使用Code::Blocks并且讨厌手动链接DLL。我找到了LoadLibrary()功能,我想知道它是否像.a一样工作或.lib文件会。这个功能是这样工作的吗?如果没有,我可以通过编程方式(如果有的话)做什么来链接DLL,而不必通过执行Project来链接DLL。方法? 最佳答案 LoadLibrary将请求的库(以及它需要的所有库)加载到进程的地址空间中。为了访问该库中的任何代码/数据,您需要找出新加载的内存区域中的代码或数据地址。您需要使用GetProcAddress.此过程与在构建时添加库之间的区别在于,对于构建时库,