- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 Rice为 Ruby gem 编写 C++ 扩展。扩展名采用共享对象 (.so) 文件的形式。
这需要“mkmf-rice”而不是“mkmf”,但两者 (AFAIK) 非常相似。
默认情况下,编译器使用标志 -g -O2
。就个人而言,我觉得这种做法很愚蠢,因为启用任何优化都很难进行调试。我已经求助于编辑 Makefile 以删除我不喜欢的标志(例如,当我需要使用 main()
进行调试时删除 -fPIC -shared
Ruby 的钩子(Hook))。
但我认为一定有更好的方法。我知道我可以做到
$CPPFLAGS += " -DRICE"
添加额外的标志。但是,如何在不直接编辑 Makefile 的情况下删除内容?
第二个问题:对于 Ruby 加载的共享对象,哪些优化是安全的?我可以做 -funroll-loops
之类的事情吗?大家有什么推荐的?
这是一个科学计算项目,所以越快越好。内存不是什么大问题。
最佳答案
定义你使用
-D name=definition
就像您在示例中所做的那样:
$CPPFLAGS += " -DRICE"
-U name
Cancel any previous definition of name, either built in or provided with a -D option.
$CPPFLAGS += " -URICE"
虽然我不确定它是否会像您想要的那样帮助取消定义 -O2。
关于c++ - 我将如何指示 extconf.rb 使用额外的 g++ 优化标志,哪些是可取的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2962287/
我们构建了一个基于 Netty/NIO 的服务,我正在考虑将该服务部署到我们的生产环境中。我们部署服务的标准方式是作为 WAR,部署在 Tomcat 中。 当我在这里提出相同的方法时,我得到了“不应该
我是一名优秀的程序员,十分优秀!