小编vee*_*efu的帖子

#ifdef用于32位平台

在我维护的应用程序中,我们遇到了影响stdlib的文件描述符限制的问题.此问题仅影响标准库的32位版本.

我已经设计了一个修复我的代码,并希望实现它,但只有在编译32位可执行文件时.我可以#ifdef使用什么预处理器符号来确定是为32位还是64位目标编译代码?

编辑

对不起,没提,代码是跨平台,linux,windows,solaris和其他一些unix风格,大多使用GCC进行编译.我可以跨平台使用任何事实上的标准吗?

编辑2

我发现了一些似乎可能有用的定义"__ILP23"和"__LP64"... 这里的讨论解释了unix平台的背景.任何人都有使用这些定义的经验吗?这会有用吗?

c c++ 64-bit gcc 32-bit

21
推荐指数
5
解决办法
3万
查看次数

如何从Windows服务捕获标准错误输出?

我有一个使用Mozilla LDAP库的应用程序.我们正在诊断涉及LDAP库无法与服务器建立连接的问题.我试图通过在应用程序中调试lib的调试版本并使用ldap_set_opt启用调试来从LDAP库获取其他信息.不幸的是,我认为调试库正在将调试字符串发送到标准错误.

当我正在重新编译LDAP客户端库时,希望启用使其调用OutputDebugString而不是流式传输到stderr的选项,一个很好的解决方案是将stderr输出捕获到文件.但是,该应用程序作为Windows服务运行.

任何人都知道如何将stderr重定向到作为服务运行的应用程序的文件?

编辑

我希望不必修改任何比我已有的服务源代码更多的服务源代码.服务配置中的选项是理想的.

c++ windows service ldap

7
推荐指数
2
解决办法
4827
查看次数

如何从 SimpleHTTPServer 获取客户端 IP

使用SimpleHTTPServerPython 中的模块构建一个简单的文件服务器,但是我在尝试从连接的客户端获取 IP 时遇到了问题。这是我所拥有的..

import SimpleHTTPServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8080), Handler)

print "Serving local directory"

while True:
    httpd.handle_request()
    print Handler.client_address[0]
Run Code Online (Sandbox Code Playgroud)

当客户端连接时,我得到..

AttributeError:SimpleHTTPRequestHandler 类没有属性“client_address”

我知道这是因为我还没有实例化这个类,但是有没有另一种方法可以从客户端获取 IP 而不必创建处理程序实例?建立连接时,客户端的 IP 会输出到控制台,我只需要一种在脚本中获取该 IP 的方法。

谢谢!

python ip http fileserver simplehttpserver

3
推荐指数
1
解决办法
7881
查看次数

如何使用PowerShell运行安装程序?

我正在尝试安装一个软件,当手动完成时,您可以在完成整个过程时选择配置选项.我试图找到一种使用PowerShell自动化的方法,但我仍然坚持如何设置这些配置选项.我相信我需要在安装程序.exe上运行start-process命令,但我不知道从那里去哪里.我可以使用start-process命令中的参数来传递我想要的配置吗?

powershell automation install windows-installer

0
推荐指数
1
解决办法
3655
查看次数