小编Uch*_*chi的帖子

Git Extensions:Win32错误487:无法为cygwin的堆保留空间,Win32错误0

Git Extensions:一切都很好,直到昨天.

但突然间,当我尝试使用某些存储库时,我会收到此错误 git extensions

C:\Program Files\Git\bin\git.exe pull --progress "origin" 
Done
    0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x390000, State 0x10000
C:\Program Files\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
Run Code Online (Sandbox Code Playgroud)

我克隆的所有存储库都在发生这种情况.但是,我的git bash工作正常.我不知道发生了什么.知道为什么会这样吗?

git cygwin git-extensions

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

Empty Class的默认构造函数是public.但是怎么样?

我有一个简单的问题:

class my
{
};
my ob;
Run Code Online (Sandbox Code Playgroud)

编译器允许我创建一个有意义的对象.而且,我知道你不能创建构造函数是私有的对象.

对我来说,它看起来,类中的所有内容private显然不是默认构造函数(因为它允许我创建对象作为默认构造函数应该是public).但令我困惑的是,public课堂上没有任何部分.

那么,public在这种情况下,它是否只创建一个部分,只在其下面放置一个默认构造函数?

或者还有其他事情发生,我的理由是不正确的?

此外,在创建/访问对象时,如何访问公共,私有和受保护的内部组织/跟踪?

我得到了这个问题,因为我从来没有创建过空类的对象.

c++ constructor private default-constructor public-method

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

普通C++中的常量变量

C++中的普通常量变量默认为内部链接.假设我有以下内容:

  • 我在头文件中定义了一个const变量(const int var = 2)

  • 然后我将标题包含在两个cpp文件中.

如果我尝试&var在两个cpp文件中获取该const变量(即)的地址,那么这两个地址是否相同?此外,我需要一个小的工作代码来验证这一事实.

我不得不张贴此作为一个问题,因为我不能要求它有在评论中对这个回答在这个线程给出我是个新手.

c++ constants linkage

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

auto* 与 C++ 中的 auto

是否有任何区别auto*,并auto当它们被用于指针?例如,

TestClass t;
auto* a = &t;
auto b = &t;

a->doSomething();
b->doSomething();
Run Code Online (Sandbox Code Playgroud)

我想知道它们是否不同。

c++ pointers auto

9
推荐指数
0
解决办法
9338
查看次数

翻译单元中的`static`定义和`extern声明`的顺序

我无法理解为什么这不起作用.

extern int i;

int main()
{
  printf(" %d ", i);  
}

static int i =3;
Run Code Online (Sandbox Code Playgroud)

此外,这不起作用:

extern int i;

static int i =3;

int main()
{
  printf(" %d ", i);  
}
Run Code Online (Sandbox Code Playgroud)

但是如果staticextern declaration它工作之前定义了变量:

static int i =3;

extern int i;

int main()
{
  printf(" %d ", i);  
}
Run Code Online (Sandbox Code Playgroud)

正如我所知道的extern int i那样,i它存在于其他地方,在这里它看起来如何(int i)

但是,其他地方意味着:

1)也许,稍后在same翻译单元中指出global variable.

2)也许,在一些other翻译单位.

我认为即使(1)将范围 …

c static extern

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

C将字符串插入char指针

大家好我试图分配stringchar *指针.以下是我的工作方式,但我收到此警告: assignment makes integer from pointer without a cast.

在C中处理字符串的正确原因是什么?

char* protoName = "";

if(h->extended_hdr.parsed_pkt.l3_proto==0)
    *protoName = "HOPOPT";  
else if(h->extended_hdr.parsed_pkt.l3_proto==1)
    *protoName = "ICMP";    
else if(h->extended_hdr.parsed_pkt.l3_proto==2)
    *protoName = "IGMP";    
else if(h->extended_hdr.parsed_pkt.l3_proto==3)
    *protoName = "IGMP";    
else if(h->extended_hdr.parsed_pkt.l3_proto==4)
    *protoName = "IGMP";

char all[500];

sprintf(all,"IPv4','%s'",* protoName);
Run Code Online (Sandbox Code Playgroud)

c string

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

VIPT缓存:TLB和缓存之间的连接?

我只是想澄清这个概念,并且可以找到足够详细的答案,这些答案可以说明一切在硬件中的实际效果.请提供任何相关细节.

在VIPT高速缓存的情况下,存储器请求并行发送到TLB和高速缓存.

从TLB我们得到了经过翻译的物理地址.从缓存索引中我们得到标签列表(例如,来自属于一组的所有缓存行).

然后将翻译的TLB地址与标签列表匹配以找到候选者.

  • 我的问题是这次检查在哪里进行?
    • 在缓存中?
    • 如果不在Cache中,还有哪些地方?
  • 如果在Cache中执行检查,则
    • 是否有从TLB到Cache模块的边带连接,以获得与标签地址进行比较所需的翻译物理地址?

请问某人"实际上"如何实现这一点以及Cache模块和TLB(MMU)模块之间的连接?

我知道这依赖于具体的架构和实现.但是,当有VIPT缓存时,您知道的实现是什么?

谢谢.

caching cpu-architecture tlb cpu-cache mmu

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

芯片中不同类型的复位(SoC)

我想知道不同类型的重置和芯片中的定义.优选冷,暖,系统,应用,上电复位.

还非常感谢每个人的简单示例.

谢谢.

embedded fpga reset

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

如何确定一个字(4个字节)是16位指令还是32位指令?

如何知道字中的字节是表示16位指令还是32位指令?
我提到了ARM ARMv7M,我不清楚如何区分它是16位指令还是32位指令.
它说
If bits [15:11] of the halfword being decoded take any of the following values, the halfword is the first halfword of a 32-bit instruction:
• 0b11101 • 0b11110 • 0b11111. Otherwise, the halfword is a 16-bit instruction

这是否意味着处理器总是取半字,检查它们并决定它是16位还是32位?
前半字是什么意思?一个字中的位[31-16]或位[15-0]?

如果我有32位,那么我可以知道它是32位指令还是16位指令?

谢谢.

arm cortex-m3 decoding opcodes armv7

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

当调用派生类对象时,为什么`this`无法从基类方法访问派生类成员

This指针具有ClassName非const成员函数的类型.

 class Base
 {
   public:
     void get()
     {
       //this->put(); Why can't I call back a derived class method eventhough 
                       **this** is pointing to derived class object.
     }
 };

 class derived: public Base
 {
   public:
   void put()
   {
    // do somthing.
   }
 };

 int main()
 {
  derived d;
  //d.get();
  d.put();
  return 0;
 }
Run Code Online (Sandbox Code Playgroud)

如果我this在两个函数中打印指针的值都是相同的,表明它是为派生类对象调用的.this指针类型也在derived *这里.

此外,作为我明白,如果你有一个pointer当你调用它的方法,那么你只是指着反对offset,其中方法是目前在整个object layout从开始address存在于pointerobject.

但是,为什么我不能抵消的derived类方法时,我有 …

c++ inheritance

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

txt解析C中的分段错误

嗨,我正在尝试解析每行2个双打的txt文件.在第一行有一个整数,它是txt文件的总行数.我有一个Nx2矩阵的双倍COORD [NPOIN] [2]我希望将每个txt行的第一个双重放入COORD [IPOIN] [0],第二个放入COORD [IPOIN] [1].下面代码的一部分应该启发你:D

COORD = (double**)malloc(NPOIN*sizeof(double*)); 

for(int i=0; i<NPOIN; i++)
{
  COORD[i] = (double*)malloc(NDIME*sizeof(double));
}

fin = fopen("coord", "r");
fgets(line, 256, fin);
NPOIN = atoi(line);
char *token;

for(IPOIN=0; IPOIN<NPOIN; IPOIN++)
{
   fgets(line, 256, fin);
   token = strtok(line," \t" );
   COORD[IPOIN][0] = atof(token); //line 891          
   token = strtok(NULL, " \t");
   COORD[IPOIN][1] = atof(token);

}
Run Code Online (Sandbox Code Playgroud)

我编译代码,一切都好.但是当我运行它时,gdb在第891行显示分段错误.任何人都可以给出一些建议吗?我被卡住了!

c gdb

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