小编gra*_*asm的帖子

Emacs命令用于搜索文件

我想在当前文件夹中搜索宏CODE_INIT_PARAMETERS的所有文件.我可以做Mx出现CODE_INIT_PARAMETERS但这只显示来自开放缓冲区的条目.

有没有办法从Emacs搜索当前文件夹中的所有文件,而无需切换到Mx shell然后grep?我想避免使用grep,因为对于某些命令(Mx发生),Emacs会跳转到违规代码,我也想要这样做.谢谢.

emacs

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

gdb说"无法打开共享对象文件"

我有一个二进制文件和一个共享库.共享库编译为:

all:
g++ -g -shared -fpic $(SOURCES) -o libmisc.so
Run Code Online (Sandbox Code Playgroud)

二进制编译用:

LIBS=-L../../misc/src

LDFLAGS=-lmisc

all:
g++ -g -o mainx $(INCLUDE) $(SOURCE) $(LIBS) $(LDFLAGS)
Run Code Online (Sandbox Code Playgroud)

我开始了 ~/.bashrc

export LD_LIBRARY_PATH=/mnt/sda5/Programming/misc/src/
Run Code Online (Sandbox Code Playgroud)

libmisc.so输出路径.

从控制台调试工作正常:

gdb mainx
Run Code Online (Sandbox Code Playgroud)

但是从Emacs22启动gdb失败,并显示以下消息:

启动程序:/ mnt/sda5 /编程/ main/src/mainx/mnt/sda5 /编程/ main/src/mainx:加载共享库时出错:libmisc.so:无法打开共享对象文件:没有这样的文件或目录

这一刻看起来很棘手,我无法解决它.我不确定这是否是emacs的问题,或者我应该在gdb的命令行中传递一个参数.

c++ linux emacs gdb

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

STL喜欢具有O(1)性能的容器

我找不到答案,但我很确定我不是第一个寻找答案的人.没有人知道/使用/看到一个像STL容器双向有权访问迭代O(1)复杂的插入/删除/查找
谢谢.

c++ stl

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

从GNU上的new运算符调用类构造函数 - 使用无效类

我问题的最接近的线程在这里.我试图用gcc编译以下代码:

#include <malloc.h>

class A
{
public:
  A(){};  
  ~A(){};
};//class A

int main()
{
  A* obj = (A*) malloc( sizeof(A) );
  if(obj==0) return 1 ;
  obj->A::A(); /*error: invalid use of 'class A' */
  obj->A::~A();
  free(obj);
  return 0;  
};//
Run Code Online (Sandbox Code Playgroud)

从命令行我编译代码:

$ g++ -o main main.cpp  
main.cpp: In function 'int main()':  
main.cpp:22: error: invalid use of 'class A'

你能指点我正确的方向吗?

c++ gcc

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

变量+值宏扩展

我尝试没有任何结果.我的代码看起来像这样:

#include "stdafx.h"
#include <iostream>

#define R() ( rand() )
#define H(a,b) ( a ## b )
#define S(a) ( # a )
#define CAT() H(S(distinct_name_), R())


int main(int argc, _TCHAR* argv[])
{
    std::cout << CAT() << std::endl; 
    std::cout << CAT() << std::endl;
    std::cout << CAT() << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想得到这样的结果:

distinct_name_12233
distinct_name_147
distinct_name_435

as a result of concatenating 
distinct_name_ (##) rand() 
Run Code Online (Sandbox Code Playgroud)

现在我收到一个错误:term不会计算为带有1个参数的函数.这可以实现吗?

编辑:几个小时后我终于成功了.预处理器仍然做我完全无法理解的奇怪事情.在这里:

#include "stdafx.h"
#include <iostream>

class profiler 
{
public:
    void show()     
    {
        std::cout << "distinct_instance" << …
Run Code Online (Sandbox Code Playgroud)

c c++

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

C++动态绑定问题

问题是:
a)以下代码是否合法?(考虑到它在运行时崩溃)
b)如果在编译时有gcc或MVC的编译器标志显示,则以下代码中存在潜在问题?

#include <iostream>
using namespace std;
class A
{
public:
    void write(){   cout<<"A"; }    
};
class B
{
public:
    virtual void write(){ cout<<"B"; }  
};
int main()
{

    A *pa=(A*) new B();
    pa->write();
    B *pb=(B*) new A() ;
    pb->write();

    delete pa;
    delete pb;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ model-view-controller g++

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

回车在c ++文件中以行结尾

我一直在阅读ISO 14882:2003.它说:

S-CHAR:
源字符集除了双引号",反斜线\,或换行字符的任何成员 转义序列
通用字符名称

现在,关于换行符,当行结尾为'\ r'时,我看到一个问题,
我写了一个小cpp程序:

#include <fstream>
#include <string>
int main()
{
    const char* program=""
        "#include <string>\n"
        "int main()\n"
        "{\n"
        "  std::string s;\n"
        "  //s=\"\r"
        "  //\r"
        "  //\r"
        "  //\r"
        "  //\";\n"
        "  s=\"\\xAE\\xfffactory\\xAE\\xffaction\";\n"
        "  return 0;\n"
        "}\n"
        ;
    std::ofstream file("file.cpp", std::ios_base::trunc);
    file << program;
    file.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在Windows上,file.cpp(在VS编辑器中读取)是:

#include <string>
int main()
{
  std::string s;
  //s="
  //
  //
  //
  //";
  s="\xAE\xfffactory\xAE\xffaction";
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译file.cpp时,VS触发并在第6行中出错,而不是第10行.

在Linux上,file.cpp(如emacs中所读)是:

#include <string>
int main()
{
  std::string s; …
Run Code Online (Sandbox Code Playgroud)

c++ gcc visual-c++

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

标签 统计

c++ ×6

emacs ×2

gcc ×2

c ×1

g++ ×1

gdb ×1

linux ×1

model-view-controller ×1

stl ×1

visual-c++ ×1