小编Aqu*_*irl的帖子

内核空间和用户空间有什么区别?

内核空间和用户空间有什么区别?内核空间,内核线程,内核进程和内核堆栈是否意味着相同的事情?另外,为什么我们需要这种区别?

operating-system kernel terminology linux-kernel

134
推荐指数
7
解决办法
11万
查看次数

理解术语和概念的含义 - RAII(资源获取是初始化)

您能否请C++开发人员详细介绍RAII是什么,为什么重要,以及它是否与其他语言有任何关联?

知道一点点.我相信它代表"资源获取是初始化".但是,这个名称并不符合我对RAII的理解(可能不正确):我得到的印象是RAII是一种初始化堆栈中对象的方式,当这些变量超出范围时,析构函数会自动被称为导致资源被清理.

那么为什么不称为"使用堆栈触发清理"(UTSTTC :)?你怎么从那里到"RAII"?

你怎么能在堆栈上创建一些东西来清理堆上的东西呢?此外,是否有不能使用RAII的情况?你有没有发现自己希望收集垃圾?至少一个垃圾收集器,你可以使用一些对象,同时让其他人管理?

谢谢.

c++ garbage-collection raii resource-management

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

如何实现虚拟功能和vtable?

我们都知道C++中的虚函数是什么,但它们是如何在深层次实现的?

可以在运行时修改甚至直接访问vtable吗?

vtable是否适用于所有类,或仅适用于至少具有一个虚函数的类?

抽象类对于至少一个条目的函数指针只有一个NULL吗?

有一个虚拟函数会减慢整个班级的速度吗?或者只调用虚拟函数?如果虚拟功能实际被覆盖了,速度是否会受到影响,或者只要它是虚拟的,它就没有效果.

c++ polymorphism virtual-functions vtable

105
推荐指数
5
解决办法
5万
查看次数

错误:从'int'类型的右值开始,无效初始化'int&'类型的非const引用

错误的形式:

int &z = 12;
Run Code Online (Sandbox Code Playgroud)

正确形式:

int y;
int &r = y;
Run Code Online (Sandbox Code Playgroud)

问题:
为什么第一个代码错了?标题中错误的"含义 "是什么?

c++ pointers reference

79
推荐指数
4
解决办法
15万
查看次数

QImage和QPixmap有什么区别?

我不明白QImage和QPixmap有什么区别,它们似乎提供相同的功能.我什么时候应该使用QImage?何时应该使用QPixmap?

c++ qt qpixmap qimage

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

错误:找不到gdal-config

请指出我遗漏的一点:

openSUSE 11.3


anisha@linux-y3pi:~/Desktop/R> sudo R CMD INSTALL rgdal_0.7-12.tar.gz 
root's password:
* installing to library ‘/usr/lib64/R/library’
* installing *source* package ‘rgdal’ ...
** package ‘rgdal’ successfully unpacked and MD5 sums checked
configure: gdal-config: gdal-config
checking gdal-config usability... ./configure: line 1353: gdal-config: command not found
no
Error: gdal-config not found
The gdal-config script distributed with GDAL could not be found.
If you have not installed the GDAL libraries, you can
download the source from  http://www.gdal.org/
If you have installed the GDAL …
Run Code Online (Sandbox Code Playgroud)

linux installation r gdal

57
推荐指数
6
解决办法
5万
查看次数

如何缓存Google地图图块以供离线使用?

像诺基亚的OVI地图可以脱机使用,也必须有一些方法来缓存谷歌地图图块.任何提示?

caching google-maps

50
推荐指数
4
解决办法
10万
查看次数

g ++ -fdump-class-hierarchy输出中的第一个(int(*)(...))0 vtable条目是什么?

对于此代码:

class B1{
public:  
  virtual void f1() {}  
};

class D : public B1 {
public:
  void f1() {}
};

int main () {
    B1 *b1 = new B1();
    D  *d  = new D();

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

编译后,我得到的vtable g++ -fdump-class-hierarchy是:

Vtable for B1
B1::_ZTV2B1: 3u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI2B1)
16    B1::f1


Vtable for D
D::_ZTV1D: 3u entries
0     (int (*)(...))0
8     (int (*)(...))(& _ZTI1D)
16    D::f1
Run Code Online (Sandbox Code Playgroud)

我无法理解像(int()(...))0*这样的条目对应的内容.当然它意味着类似,它是一个函数,它返回一个int并获取无限数量的参数,我不明白任何事情.这个函数指针对应哪个函数?你怎么知道的?我是64位机器.

第二个函数指针的末尾有一个地址?对应的对象是谁?

编辑

我使用的编译器是g ++:

g++ -v …
Run Code Online (Sandbox Code Playgroud)

c++ gcc virtual-functions vtable

49
推荐指数
1
解决办法
7811
查看次数

如果不在内存中,表达式和常量存储在哪里?

来自Brian W. Kernighan的C编程语言

&运算符仅适用于内存中的对象:变量和数组元素.它不能应用于表达式,常量或寄存器变量.

如果不在内存中,表达式和常量存储在哪里?这句话是什么意思?

例如:
&(2 + 3)

为什么我们不能拿它的地址?它存放在哪里?
对于C++,答案是否也一样,因为C一直是它的父级?

这个链接的问题解释了这样的表达式是rvalue对象,并且所有rvalue对象都没有地址.

我的问题是这些表达式存储在哪里,以至于无法检索到它们的地址?

c c++

47
推荐指数
4
解决办法
4435
查看次数

如何在c ++中调用:: CreateProcess来启动Windows可执行文件?

寻找一个例子:

  1. 启动EXE
  2. 等待EXE完成.
  3. 在可执行文件完成时正确关闭所有句柄.

c++ windows winapi

46
推荐指数
7
解决办法
13万
查看次数