小编lim*_*imi的帖子

我怎么知道STL对象需要多少内存?

我需要在程序中收集有关内存使用情况的统计信息.

我的代码主要使用STL编写.

有没有办法了解STL对象消耗了多少内存?

例如,

string s1 = "hello";
string s2 = "hellohellohellohellohellohellohellohellohellohellohellohellohello";
Run Code Online (Sandbox Code Playgroud)

消耗了多少内存s1s2?显然,sizeof(string)+s1.length()不太准确.

c++ memory stl

15
推荐指数
2
解决办法
2545
查看次数

我怎么知道页面真正满载?

我正在使用python webkit.WebView和gtk来抓取网页.但是,网页是由javascript动态加载的.

WebView"load-finished"事件不足以处理此问题.是否有任何指示/事件让我知道页面是否真的完全加载甚至javascript产生的内容?

谢谢,

javascript python webkit web-crawler webview

6
推荐指数
1
解决办法
207
查看次数

有关于如何设计数据文件结构的参考/资源吗?

可能重复:
设计(二进制)文件格式时有哪些重点?

我将开发一个将数据存储在文件中的程序.

文件可能很大.文件中的数据基本上由可变长度记录组成.我需要随机访问记录.

我只想阅读一些关于如何设计数据文件结构的资源/书籍.但我还没找到.

任何建议都非常感谢.

c c++ reference file

6
推荐指数
1
解决办法
218
查看次数

如何按名称获取函数地址?

我想按名称获取函数的地址。

例如,目前我正在使用dlsym

unsigned long get_func_addr(const char *func_name)
{
     return (unsigned long)dlsym(NULL, func_name);
}
Run Code Online (Sandbox Code Playgroud)

但是,dlsym仅适用于外部功能。它不适用于静态功能。我知道在不同的文件中可以有多个同名的静态函数。但是我至少需要获得一个带有名称的静态函数的地址。有时静态函数会被内联。但是如果用调试编译C文件就可以了。我认为-g,静态函数的符号表是存在的,但我如何访问它?

我不想创建一个表来将字符串映射到函数地址。我需要找到一种方法来动态地做到这一点。

c function dynamic-linking

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

从json文件构造boost属性树的性能非常不好?

我正在使用boost属性树来加载/转储json文件。但是,性能非常差。

例如,我有一个大小为1.8M的json文件。boost C ++程序花费3秒来加载json文件并构建属性树。如果我使用python加载json文件,则只需0.1秒。python也将所有东西都构造为对象。

C ++程序类似于:

int main(int argc, char **argv){
        std::fstream fin;
        fin.open(argv[1], std::fstream::in);
        if (!fin.is_open()){
            ASSERT(false);
        }

        boost::property_tree::ptree pt;
        try{
            read_json(fin, pt);
        }catch(ptree_error & e) {
            ASSERT(false);
        }
        fin.close();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

做同样事情的python脚本是这样的:

#!/usr/bin//python

import sys
import json

fp = open(sys.argv[1],"r")
objs = json.load(fp)
Run Code Online (Sandbox Code Playgroud)

我尝试了最新的提升(1.54)。这样做仍然很慢。

感谢任何建议。

如果没有解决方案,您是否知道其他C ++库来加载/转储json?

c++ json boost boost-propertytree

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

如何获取嵌套的函数对象?

def foo():
    print "I am foo"
    def bar1():
       print "I am bar1"
    def bar2():
       print "I am bar2"
    def barN():
       print "I am barN"


funobjs_in_foo = get_nest_functions(foo)

def get_nest_functions(funobj):
    #how to write this function??
Run Code Online (Sandbox Code Playgroud)

如何获取所有嵌套的函数对象?我可以通过funobj.func_code.co_consts获取嵌套函数的代码对象.但我还没有找到一种方法来获取嵌套函数的函数对象.

任何帮助表示赞赏.

python

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