我有一大堆代码,用/ MT编译(即期望静态链接到CRT).我需要将它与静态第三方库结合使用,该库是用/ MD构建的(即期望动态链接CRT).
理论上是否可以将两者连接成一个可执行文件而不重新编译?
如果我链接到/ nodefaultlib:msvcrt,我最终会得到少量未定义的引用__imp__wgetenv.我很想尝试在我自己的代码中实现这些功能,转发到wgetenv等等.这值得尝试,还是我会直接进入下一个问题?
不幸的是,我禁止将第三方代码打包成一个单独的DLL的简单选项: - /
我在理解select.select的行为时遇到了一些麻烦.请考虑以下Python程序:
def str_to_hex(s):
def dig(n):
if n > 9:
return chr(65-10+n)
else:
return chr(48+n)
r = ''
while len(s) > 0:
c = s[0]
s = s[1:]
a = ord(c) / 16
b = ord(c) % 16
r = r + dig(a) + dig(b)
return r
while True:
ans,_,_ = select.select([sys.stdin],[],[])
print ans
s = ans[0].read(1)
if len(s) == 0: break
print str_to_hex(s)
Run Code Online (Sandbox Code Playgroud)
我已将其保存到文件"test.py".如果按如下方式调用它:
echo 'hello' | ./test.py
Run Code Online (Sandbox Code Playgroud)
然后我得到了预期的行为:选择never块并打印所有数据; 程序然后终止.
但如果我以交互方式运行程序,我会得到一个最不受欢迎的行为.请考虑以下控制台会话:
$ ./test.py
hello
[<open file '<stdin>', mode 'r' at …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 Web 服务器上进行一些测试,以确保反向代理在将其放入实时环境之前按预期工作,但是我遇到了 mod_proxy 和 mod_proxy_html 的一些问题。
我有 2 个虚拟主机,1 个在端口 80 上,1 个在端口 8080 上。我的目标是让 www.example.com/path/ 的传入请求进入端口 80,并反向代理到端口 8080。
这是我的虚拟主机设置:
<VirtualHost *:8080>
ServerName www.example.com:8080
DocumentRoot /var/www/html/test
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*test
RewriteRule ^/?(.*) http://127.0.0.1:8080/test.html [R=301,L]
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyPreserveHost Off
ProxyPass /path/ http://127.0.0.1:8080/
ProxyPassReverse /path/ http://127.0.0.1:8080/
ProxyHTMLURLMap http://127.0.0.1:8080/ /path/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我的 /var/www/html/test 有 2 个文件 index.html 和 test.html
test.html 内容是:
<HTML>
<BODY>
<a href="http://127.0.0.1:8080/index.html">TEST</a>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
转到 www.example.com/path/ 成功被代理并重定向到 www.example.com/path/test.html,但页面上的链接仍指向 127.0.0.1。
httpd -M …
我正在运行Ubuntu并首次与Emacs一起玩,但遗憾的是它似乎没有看到我目前安装的任何sftp文件夹.这些文件夹对nautilus和gedit可见.
任何有经验的emac用户都可以指出我正确的方向吗?