【发布时间】:2023-04-05 08:26:01
【问题描述】:
我创建了一个简单的 SWIG 包装 DLL 用于在 Ruby 中使用它。我已经使用 VS2010 IDE 完成了这个项目,链接http://www.swig.org/Doc1.3/Ruby.html#Ruby_nn10中提到了步骤
这是一个简单的包装 DLL,如上例所示。 但是当我尝试在 Ruby 中导入 DLL 时需要“示例”,它给出了“分段错误”。
我已经对此进行了一些调查。我尝试使用 VS 2010 nmake 生成动态库。 MakeFile 是通过使用生成的: 需要'mkmf' create_makefile('example')
生成的 example.so 可以成功导入 Ruby。
我注意到使用 VS 2010 IDE 和使用相同编译器的 nmake 生成的动态库的大小存在很大差异。第一个接近 824KB,第二个是 11KB。
谁能指出为什么使用 VS 2010 IDE 生成的 dll 会崩溃,而使用 nmake 生成的 dll 使用相同的代码(包括包装文件)工作正常?
【问题讨论】:
标签: c++ ruby visual-studio-2010 dll swig