小编sir*_*rlo的帖子

SWIG(v1.3.29)生成的C++到Java Vector类没有正常运行

我有一些本机C++代码,我正在使用SWIG转换为Java,以便我的Java应用程序可以使用它.特别是有一些函数返回std :: vector.这是我的界面文件的片段:

%include "std_vector.i"
namespace std {
  %template(Vector) vector<double>;
  %template(Matrix) vector<vector<double> >;
}

%include "std_string.i"
Run Code Online (Sandbox Code Playgroud)

std_string.istd_vector.i被列入我的,我使用痛饮的构建.我的第一个惊喜是Java输出包含了SWIG的"自有"版本的Vector类(与使用相反java.util.Vector).我真正的问题是从这些函数返回的Vector似乎不起作用.例如,我无法使用get()(有时崩溃程序)或size()返回负值的函数来检索其内容.我知道Vectors包含数据,因为我编写了相同函数的'String'版本,它们只是遍历Vectors(回到本机C++代码中)并以逗号分隔String值返回内容.虽然这是一个有效的解决方法,但最终我希望这能够正常工作,因为我能够接收和操纵Vectors.任何帮助/提示将非常感激.

c++ java java-native-interface swig vector

11
推荐指数
1
解决办法
4345
查看次数

在nginx重写中使用$ args导致重复的URL参数

在我的一个位置规则中,我试图重写URL:

rewrite ^ $topicredirecturi?$args permanent;
Run Code Online (Sandbox Code Playgroud)

$topicredirecturi 在映射文件中计算,映射例如URL等

http://www.topics.com/companies/cit-group-inc/index.html
Run Code Online (Sandbox Code Playgroud)

http://www.topics.com/companies/cit_group_inc/index.html
Run Code Online (Sandbox Code Playgroud)

当我使用URL参数发出请求时,例如:

http://www.topics.com/companies/cit-group-inc/index.html?rss=1
Run Code Online (Sandbox Code Playgroud)

我得到以下带有重复参数的重写URL:

http://www.topics.com/companies/cit_group_inc/index.html?rss=1&rss=1
Run Code Online (Sandbox Code Playgroud)

同样,URL

http://www.topics.com/companies/cit-group-inc/index.html?rss=1&bob=2
Run Code Online (Sandbox Code Playgroud)

被改写为

http://www.topics.com/companies/cit_group_inc/index.html?rss=1&bob=2&rss=1&bob=2
Run Code Online (Sandbox Code Playgroud)

有人知道这里会发生什么吗?

rewrite nginx query-string

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

java ×1

java-native-interface ×1

nginx ×1

query-string ×1

rewrite ×1

swig ×1

vector ×1