小编Sco*_*ott的帖子

在Python中检索网络掩码

如何检索网络设备的网络掩码(最好在Linux中,但如果它是跨平台的那么酷)?我知道如何在Linux上使用C语言,但我无法在Python中找到一种方法 - 或许可以减去ctypes.那或解析ifconfig.还有其他方法吗?

ioctl(socknr, SIOCGIFNETMASK, &ifreq) // C version
Run Code Online (Sandbox Code Playgroud)

python

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

C++有标准队列吗?

我知道C++中有一个标准的库向量.有队列吗?在线搜索表明可能有,但如果有的话,没有太多关于它.

编辑:好的.谢谢你们.

c++ queue

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

调试装配

如何调试汇编代码?我在 Linux 上使用 gdb。我知道我可以看寄存器。有哪些调试汇编代码的方法?

debugging assembly cpu-registers

7
推荐指数
2
解决办法
9745
查看次数

帮助JSON格式

我正在网上使用JSON示例,如下所示.

{
  "menu": "File", 
  "commands": [ 
      {
          "title": "New", 
          "action":"CreateDoc"
      }, 
      {
          "title": "Open", 
          "action": "OpenDoc"
      }, 
      {
          "title": "Close",
          "action": "CloseDoc"
      }
   ] 
}
Run Code Online (Sandbox Code Playgroud)

我尝试在两个不同的解析器中加载它,一个用C++和Python.

这是Python的追溯.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/json/__init__.py", line 267, in load
    parse_constant=parse_constant, **kw)
  File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.6/json/decoder.py", line 338, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: …
Run Code Online (Sandbox Code Playgroud)

c++ python json

6
推荐指数
2
解决办法
5228
查看次数

访问虚拟派生类的成员/方法

这里的例子没有意义,但这基本上是我用Python编写程序的方式,现在我用C++重写它.我仍然试图在C++中掌握多重继承,我需要做的是从main到C的实例访问A :: a_print.下面你会看到我在说什么.这可能吗?

#include <iostream>
using namespace std;

class A {
    public:
    void a_print(const char *str) { cout << str << endl; }
};

class B: virtual A {
    public:
    void b_print() { a_print("B"); }
};

class C: virtual A, public B {
    public:
    void c_print() { a_print("C"); }
};

int main() {
    C c;
    c.a_print("A"); // Doesn't work
    c.b_print();
    c.c_print();
}
Run Code Online (Sandbox Code Playgroud)

这是编译错误.

test.cpp: In function ‘int main()’:
test.cpp:6: error: ‘void A::a_print(const char*)’ is inaccessible
test.cpp:21: error: within this context …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance multiple-inheritance

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

Python中的列表或字典是否更快?

就性能而言,这两者有多大区别?

tmp = []
tmp.append(True)
print tmp[0]
Run Code Online (Sandbox Code Playgroud)

tmp = {}
tmp[0] = True
print tmp[0]
Run Code Online (Sandbox Code Playgroud)

python data-structures

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

C++和C中的变量参数列表

我正在使用C++重写C程序以利用OO方面,因此它可以轻松支持多个设备,并且程序的一部分是表达式评估程序.表达式可以有函数调用,这里是函数的结构.

typedef struct {
    char *name;
    int argc;
    void (*func) ();
} FUNCTION;
Run Code Online (Sandbox Code Playgroud)

不知何故,func可以通过它传递可变数量的参数.

RESULT *param[10];

if (Root->Function->argc < 0) {
    /* Function with variable argument list:  */
    /* pass number of arguments as first parameter */
    Root->Function->func(Root->Result, argc, &param);
} else {
    Root->Function->func(Root->Result, param[0], param[1], param[2], param[3], param[4], param[5], param[6],
                         param[7], param[8], param[9]);
}
Run Code Online (Sandbox Code Playgroud)

老实说,我甚至不确定如何在C中做到这一点.解释会非常好.可以用C++完成吗?

c c++ parameters optional-parameters

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

调整ctypes数组的大小

我想调整ctypes数组的大小.正如您所看到的,ctypes.resize不能像它那样工作.我可以编写一个函数来调整数组的大小,但我想知道其他一些解决方案.也许我错过了一些ctypes技巧或者我只是简单地使用了resize错误.名称c_long_Array_0似乎告诉我这可能不适用于调整大小.

>>> from ctypes import *
>>> c_int * 0
<class '__main__.c_long_Array_0'>
>>> intType = c_int * 0
>>> foo = intType()
>>> foo
<__main__.c_long_Array_0 object at 0xb7ed9e84>
>>> foo[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: invalid index
>>> resize(foo, sizeof(c_int * 1))
>>> foo[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: invalid index
>>> foo
<__main__.c_long_Array_0 object at 0xb7ed9e84>
>>> sizeof(c_int * 0)
0
>>> sizeof(c_int * 1) …
Run Code Online (Sandbox Code Playgroud)

python ctypes

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

在使用delete释放的对象的析构函数中使用free

我有一个对象,我正在释放删除,它有一个char*在析构函数中被释放的自由.我使用free的原因是因为我使用strdup并malloc创建char指针.我使用的原因malloc是因为我在大多数代码路径中都使用了strdup.这种情况会导致内存损坏吗?

c++ memory free memory-management

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

声明类似于C风格的数组(C++)

在C中,程序员可以像这样声明一个数组:

unsigned char Fonts[2][8] {
    [1] = {0, 31, 0, 31, 0, 31, 0, 31}
};
Run Code Online (Sandbox Code Playgroud)

元素[0]可能是随机位.在C++中是否有类似的方法?

c++ arrays

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