小编Sco*_*ott的帖子

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

在运行时为ctypes更改LD_LIBRARY_PATH

如何在运行时更新此环境变量,以便ctypes可以在任何地方加载库?我尝试了以下,似乎都没有工作.

from ctypes import *
os.environ['LD_LIBRARY_PATH'] = "/home/starlon/Projects/pyCFA635/lib"  
os.putenv('LD_LIBRARY_PATH', "/home/starlon/Projects/pyCFA635/lib")  
lib = CDLL("libevaluator.so")
Run Code Online (Sandbox Code Playgroud)

python ctypes

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

const函数/方法签名后的含义是什么?

根据MSDN:"当跟随成员函数的参数列表时,const关键字指定该函数不会修改调用它的对象."

有人可以澄清这一点吗?这是否意味着该函数无法修改任何对象的成员?

 bool AnalogClockPlugin::isInitialized() const
 {
     return initialized;
 }
Run Code Online (Sandbox Code Playgroud)

c++ const

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

如何使用valgrind启动Android应用程序

我一直在寻找上周试图找到这个问题的答案.

如何使用valgrind启动Android应用程序?我知道我可以使用'am'命令启动应用程序,但它会启动应用程序并退出.

我正在编写一个将NDK用于本机C代码的应用程序,我需要检查它是否存在可疑的内存错误.

编辑:

我学到了更多.您可以使用shell脚本"包装"应用程序.

这是我正在使用的shell脚本:

#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.starlon.froyvisuals
exec /data/local/Inst/bin/valgrind $VGPARAMS $*
Run Code Online (Sandbox Code Playgroud)

这是setprop:

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper valgrind"
Run Code Online (Sandbox Code Playgroud)

以下是我启动应用的方式:

adb shell am start -n com.starlon.froyvisuals/.FroyVisuals
Run Code Online (Sandbox Code Playgroud)

我不认为这是对的,因为我不确定shell脚本适合哪里,我在logcat中没有看到任何东西.任何提示?

Edit2:哦shell脚本用上面的"setprop"命令表示.所以

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper /data/local/val.sh"
Run Code Online (Sandbox Code Playgroud)

我还没有在logcat中看到任何东西.

android valgrind android-ndk gdbserver

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

类'不是模板类型'

这个错误是什么意思?

Generic.h:25: error: 'Generic' is not a template type
Run Code Online (Sandbox Code Playgroud)

这是通用的.

template <class T>
class Generic: public QObject, public CFG, public virtual Evaluator {
    Q_OBJECT
    std::string key_;
    std::vector<std::string> layouts_;
    std::vector<std::string> static_widgets_;
    std::map<std::string, std::vector<widget_template> > widget_templates_;
    std::map<std::string, Widget *> widgets_;
    int type_;
    LCDWrapper *wrapper_;

    protected:
    LCDText *lcdText_;

    public:
    Generic(Json::Value *config, int type);
    ~Generic();
    void CFGSetup(std::string key);
    void BuildLayouts();
    void StartLayout();
    int GetType() { return type_; }
    //T *GetLCD() { return lcd_; }
    LCDText *GetLCDText() { return lcdText_; }
    virtual void Connect(){};
    virtual …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

调试Android NDK本机应用程序

我正在尝试调试并逐步执行段错误的Android应用程序.我试过了ndk-gdb,但运气不好.我还提到了Android NDK调试而无法调试我的应用程序.

当我尝试时ndk-gdb --start,我得到:

$ ndk-gdb --start --verbose
Android NDK installation path: /opt/android-ndk-r7
Using default adb command: /opt/android-sdk-linux/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.29
Using final ADB command: '/opt/android-sdk-linux/platform-tools/adb'
Using auto-detected project path: .
Found package name: com.example.native_plasma
ABIs targetted by application: armeabi armeabi-v7a
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi-v7a
Found debuggable flag: true
Found device gdbserver: /data/data/com.example.native_plasma/lib/gdbserver
Using gdb setup init: ./libs/armeabi-v7a/gdb.setup
Using toolchain …
Run Code Online (Sandbox Code Playgroud)

debugging android android-ndk

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

帮助解决错误:ISO C++禁止声明'vector'没有类型

正如标题所述,我不确定为什么我会收到此错误.我已经整理了一个类似于这个结构的test.cpp,它运行正常.另外,除了向量问题之外,还有另一个关于'protected'的问题,即使在代码中也是如此.我认为'protected'是一个宏,所以不知道那里有什么.我是QT的新手,所以我很可能"做错了." 这肯定是编译器的建议.

In file included from DrvCrystalfontz.cpp:8:
LCDText.h:28: error: ISO C++ forbids declaration of 'vector' with no type
LCDText.h:28: error: expected ';' before '<' token
LCDText.h:30: error: ISO C++ forbids declaration of 'vector' with no type
LCDText.h:30: error: expected ',' or '...' before '<' token
LCDText.h:46: error: expected ':' before 'protected'
LCDText.h: In constructor 'LCDText::LCDText(int, int, int, int, int, int, int, QObject*)':
LCDText.h:33: error: expected '{' at end of input
scons: *** [DrvCrystalfontz.o] Error 1
scons: building terminated because of …
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

std :: regex - 是否有一些需要链接的lib?

我使用以下代码收到链接器错误:

#include <regex>

int main()
{
    std::regex rgx("ello");
    return 0;
}

test.o: In function `basic_regex':
/usr/lib/gcc/i586-redhat-linux/4.4.1/../../../../include/c++/4.4.1/tr1_impl/regex:769: undefined reference to `std::basic_regex<char, std::regex_traits<char> >::_M_compile()'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

c++ regex c++11

10
推荐指数
1
解决办法
5018
查看次数

有人可以解释__declspec(裸体)吗?

我正在考虑将为Windows编写的脚本引擎移植到Linux; 这是Winamp的可视化平台AVS.我不确定目前是否可能.从我可以告诉代码正在采取的C函数的地址nseel_asm_atan,并nseel_asm_atan_end和它们存储,它可以在代码执行期间引用表内.

我看过MS的文档,但我不确定究竟__declspec(naked)是做什么的.什么是文档中提到的prolog和epilog代码?这与Windows调用约定有关吗?这是便携式吗?了解使用类似技术的任何基于Linux的示例?

static double (*__atan)(double) = &atan;
__declspec ( naked ) void nseel_asm_atan(void)
{
  FUNC1_ENTER

  *__nextBlock = __atan(*parm_a);

  FUNC_LEAVE
}
__declspec ( naked ) void nseel_asm_atan_end(void) {}
Run Code Online (Sandbox Code Playgroud)

c linux windows assembly calling-convention

9
推荐指数
2
解决办法
6826
查看次数

内存管理和realloc

我正在用valgrind来完成我的程序以寻找内存泄漏.这是一个我不知道该怎么做的.

==15634== 500 (224 direct, 276 indirect) bytes in 2 blocks are definitely lost in loss record 73 of 392
==15634==    at 0x4007070: realloc (vg_replace_malloc.c:429)
==15634==    by 0x807D5C2: hash_set_column(HASH*, int, char const*) (Hash.cpp:243)
==15634==    by 0x807BB15: LCD::PluginDiskstats::PluginDiskstats() (PluginDiskstats.cpp:102)
==15634==    by 0x806E021: LCD::Evaluator::Evaluator() (Evaluator.cpp:27)
==15634==    by 0x8066A87: LCD::LCDControl::LCDControl() (LCDControl.h:16)
==15634==    by 0x80667F5: main (Main.cpp:8)

这是代码:

/* add an entry to the column header table */
void hash_set_column(HASH * Hash, const int number, const char *column)
{
    if (Hash == NULL)
        return; …
Run Code Online (Sandbox Code Playgroud)

c c++ memory-leaks memory-management

8
推荐指数
1
解决办法
2868
查看次数