问题列表 - 第49262页

Java JNI在c ++进程中泄漏

我是Java的初学者.我的问题是:我从c ++调用Java类的方法.为此,我正在使用JNI.Everythings工作正常,但我在c ++程序的过程中有一些内存泄漏......

所以..我做了一个简单的例子..

1)我创建了一个java机器(jint res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);)

2)然后我在java类上使用指针(jclass cls = env-> FindClass("test_jni"));

3)之后我通过调用构造函数创建一个java类对象对象(testJavaObject = env-> NewObject(cls,testConstruct);)

此时此刻在c ++程序的过程中分配了10 MB的内存

4)接下来我删除类,对象和Java机器..

在这个时刻,10 MB的内存不是免费的.................所以下面我有几行代码

c ++程序

void main()
{
    {
        //Env
        JNIEnv *env;
        // java virtual machine
        JavaVM *jvm;
        JavaVMOption* options = new JavaVMOption[1];
        //class paths
        options[0].optionString = "-Djava.class.path=C:/Sun/SDK/jdk/lib;D:/jms_test/java_jni_leak;"; 
        // other options
        JavaVMInitArgs vm_args;
        vm_args.version = JNI_VERSION_1_6;
        vm_args.options = options;
        vm_args.nOptions = 1;
        vm_args.ignoreUnrecognized = false;
        // alloc part of memory (for test) before CreateJavaVM
        char* testMem0 = new char[1000];
        for(int …
Run Code Online (Sandbox Code Playgroud)

c c++ java memory java-native-interface

5
推荐指数
1
解决办法
2182
查看次数

在字符串向量上使用push_back - C++

我试图push_back在C++中使用字符串向量.如何将单个字符推送到矢量?目前,我尝试过以下方面,但都没有成功:

  1. 用字符初始化一个字符串(试图).

string str(main_string[0]);  
vector_string.push_back(str);
Run Code Online (Sandbox Code Playgroud)
  1. 试图调用strcpy,从而复制内容.稳定似乎阻碍了.

string str;  
strcpy(main_string[0], str.c_str());  
vector_string.push_back(str);  
Run Code Online (Sandbox Code Playgroud)

我们欢迎任何更多的建议/想法.

编辑:错误日志如下:

test_push.C: In function ‘void test_push(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::string)’:
test_push.C:50: error: no matching function for call to ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char&)’
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/bits/basic_string.tcc:220: note: candidates are: std::basic_string<_CharT, _Traits, _Alloc>::basic_string(typename _Alloc::rebind<_CharT>::other::size_type, _CharT, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/bits/basic_string.tcc:213: note:                 std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, …
Run Code Online (Sandbox Code Playgroud)

c++ string vector push-back

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

CodeIgniter团队合作

到目前为止,我一直在学习CodeIngiter,但似乎无法掌握CodeIgniter如何用于团队工作.有人可以使用CodeIgniter解释团队工作的基础吗?

根据我的理解,如果我错了,就这样纠正我:

假设有一个项目有5页,主页,关于我们,新闻,图库和联系我们.CodeIgniter可以提供帮助的地方让我说我的团队中有2个程序员,所以我们每个人都在不同的文件夹中做一个模块(对于每个Controller-View-Model)(例如Programmer A做新闻模块,Programmer B做Gallery模块) (文件夹新闻和图库)等

因此,最终产品将是一组单独的文件夹中的模块.主页/,内容/,新闻/,图库/,联系人/等

这是使用CI的团队合作的正确流程吗?我读到CI可以用来在设计人员(前端CSS)和程序员(数据库和控制器)之间进行协作,但我认为通过这个流程,设计人员将不得不等待程序员将变量名称解析到视图中,将以某种方式阻止工作的进展.

php collaboration workflow codeigniter

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

没有用户输入,从串口读取iis不稳定

使用Delphi 7我正在从串口读取.

读取总是在写入之前触发h/w从传感器测量并写入一些内容供我阅读(并且总有一些东西需要阅读).

我有两种可能性:手动输入命令并单击按钮将其写入串行端口(读取型号或f/w版本等)或单击按钮循环读取测量值,直到按下停止按钮.这两个都使用相同的内部函数,因此代码看起来像这样:

WriteSerial('?model');
SerialData := ReadSerial();  // returns string
WriteSerial('?fw');
SerialData := ReadSerial();
Run Code Online (Sandbox Code Playgroud)

while stopButtonNotPressed do
begin
  WriteSerial('?data');
  SerialData := ReadSerial();
  Memo1.Lines.Add(SerialData );
end;
Run Code Online (Sandbox Code Playgroud)

第一个变体(手动输入命令和按下按钮)总是成功的,无论我输入命令的速度有多快或多慢(按住按钮重复),第二个变量在哪里

pass
fail
pass
pass
fail
pass
pass
fail
... add infinitum
Run Code Online (Sandbox Code Playgroud)

添加对sleep的调用什么都不产生,但是试图调试,我发现如果我MsgDialog, 'Please close this dialog...', mtInfo, [mrOK]);在循环中添加一个模态对话框,那么它就不再失败了.

现在,它看起来不像时间(否则肯定添加Sleep(2000);到循环将使它通过&不,所以为什么按主窗体上的按钮或模态对话框导致它成功?

顺便说一下,h/w用户指南没有提到CTS/RTS,唯一的代码示例也没有提供.

注意:如果我?data反复手动输入,它永远不会失败......

有任何想法吗?

delphi serial-port

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

List和IList之间的区别

可能重复:
IList <int> vs List <int>
C# - List <T>或IList <T>

List和IList之间有什么区别,哪一个具有更好的性能以及何时使用List over IList,反之亦然?

.net c#

45
推荐指数
3
解决办法
7万
查看次数

R中的操作重载

为字符重载'+'最直接的方法是什么?我已经定义'%+%' <- function(...) paste(...,sep=""):

str <- "aa"%+%"bb"%+%"cc" #str="aabbcc"
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这种语法.我认为str <- "aa"+"bb"+"cc"会更好.

(我正在构建与RODBC一起使用的长SQL查询,paste在这种情况下通常不是很方便.有什么建议吗?)

string r concatenation string-concatenation

5
推荐指数
2
解决办法
4567
查看次数

如何在Eclipse for Mac中将Chrome设置为默认外部浏览器?

我认为这个问题是自我解释的:-)

当我浏览Application eclipse时给我发错误.

eclipse ide macos google-chrome

12
推荐指数
4
解决办法
3万
查看次数

CUDA:在内核中使用 realloc

我知道可以malloc在内核内部使用GPU的全局内存来分配内存。是不是也可以使用呢realloc

cuda

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

C#LINQ与foreach迭代器块的性能

1)这些生成相同的字节代码吗?

2)如果没有,在某些情况下使用一个是否有任何收益?

// LINQ select statement
return from item in collection
    select item.Property;

// foreach in an iterator block
foreach (item in collection)
    yield return item.Property;
Run Code Online (Sandbox Code Playgroud)

linq foreach select iterator

9
推荐指数
1
解决办法
9285
查看次数

Jqgrid Tree View Adjacencey

我在ma应用程序中使用Jqgrid树视图模型,我可以看到它显示错误,因为不支持对象或属性我已经包含grid.Treeview.js和其他Jqgrid脚本文件.我不知道可能是什么问题.当我在网络中检查示例应用程序的邻接树视图时,我尝试了同样的事情,但在asp.net中使用我没有得到的本地数据.任何人都可以帮助我如何做同样的事情.提前致谢

这是我使用的示例代码,而不是它是否会起作用.

var myTreeGrid = new Ext.us.tree.TreeGrid({
    columns: columnsConfig,
    rootVisible: false,
    root: rootNode,
    loader: new Ext.ux.tree.TreeGridLoader({preloadChildren: true})
});
var rootNode = $('#treegridsamp').jqgrid({
    treeGrid: true,
    treeGridModel: 'adjacecncy',
    ExpandColumn: 'name',
    datatype: "local",
    mtype: 'Get',
    colNames: ['id','Name','MenuId','Menu Name'],
    colModel: [
        {name:'RowId',index:'RowId',width:300,fixed:true},
        {name:'Name',index:'Name',width:300,fixed:true},
        {name:'MenuId',index:'MenuId',width:300,fixed:true},
        {name:'MenuName',index:'MenuName',width:300,fixed:true},
    ],
    root:[
        {id:"1",Name:"Main Menu", MenuId:"1",MenuName:"Menu1"},
        {id:"2",Name:"Main Menu1",MenuId:"2",MenuName:"Menu2"},
        {id:"3",Name:"Main Menu2",MenuId:"3",MenuName:"Menu3"}
    ],
    pager: '#dvtreegridsamp',
    Caption: 'Sample Tree View Model'
})
$("#treegridsamp").jqGrid('navGrid', '#dvtreegridsamp',
    { edit: false, add: false, del: false, search: false, refresh: false });
var mydata=[
    {id:"1",    Name:"Main Menu",   MenuId:"1",MenuName:"Menu1"},
    {id:"2", …
Run Code Online (Sandbox Code Playgroud)

jqgrid treegrid

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