小编dim*_*mba的帖子

vim命令中的转义字符

我想运行这样的命令:

vim -c "%g/blablabla/norm /str<ESC>cwSTR" file
Run Code Online (Sandbox Code Playgroud)

我如何在命令中编写转义字符?

linux vim shell

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

git-svn合并2个svn分支

我正在使用svn.我有两个分支,并且两个分支都进行了很多更改.除了其中一个分支之外,很多文件都被重命名,所以现在svn无法帮助我合并这些文件中的更改(知道svn限制).

  1. 是否可以使用git-svn来执行分支的合并?
  2. git-svn会处理重命名的文件吗?

谢谢

svn git merge git-svn

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

在模块化程序中使用Boost.Program_options

我使用的代码包含一组模块,编译到各个库.反过来,库以不同的组合链接以构建不同的二进制文件.

所以,这是非常有序的.

不同的模块使用不同的命令行参数,我想使用Boost.Program_options进行解析.

由于命令行参数集取决于哪些库链接在一起,我事先并不知道所有参数,因此无法将它们添加到program_options :: options_description.

如何让每个模块添加命令行参数并稍后读取它们?

谢谢

c++ boost-program-options

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

带有if语句的C预处理器

我有以下宏:

#define IF_TRACE_ENABLED(level)  if (IsTraceEnabled(level))
Run Code Online (Sandbox Code Playgroud)

用户代码应如下所示:

IF_TRACE_ENABLED(LEVEL1)
{
    ... some very smart code
}
Run Code Online (Sandbox Code Playgroud)

这里强调大括号 - 我想阻止"if"从宏到"吃掉"其他代码:

if (...)
   IF_TRACE_ENABLED(LEVEL1)
      printf(....);
else
   bla bla bla
Run Code Online (Sandbox Code Playgroud)

在这个例子中IF_TRACE_ENABLED"吃"其他块.

有没有办法强制用户代码不编译没有卷曲刹车或有其他定义宏来实现安全?

macros c-preprocessor

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

std :: vector <std :: string>崩溃

这个问题是我的问题的延续.

这是有问题的代码.

啊:

#include <string>
#include <vector>

std::vector<std::string> foo();
Run Code Online (Sandbox Code Playgroud)

a.cpp

#include "a.h"

std::vector<std::string> foo()
{
   std::vector<std::string> v;
   return v;
}
Run Code Online (Sandbox Code Playgroud)

最后是main.cpp:

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

int main()
{
    std::vector<std::string> s = foo();

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

编译如下(main.cpp用STL调试标志编译):

g++ -c a.cpp
g++ -D_GLIBCXX_DEBUG main.cpp a.o
Run Code Online (Sandbox Code Playgroud)

运行a.out时,进程崩溃:

Core was generated by `./a.out'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fe355998c43 in __gnu_debug::_Safe_iterator_base::_M_detach_single() () from /usr/lib64/libstdc++.so.6
(gdb) bt
#0  0x00007fe355998c43 in __gnu_debug::_Safe_iterator_base::_M_detach_single() () from /usr/lib64/libstdc++.so.6
#1  0x00007fe355999ebc in __gnu_debug::_Safe_sequence_base::_M_detach_all() () from …
Run Code Online (Sandbox Code Playgroud)

c++ debugging stl g++

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

xmlstarlet - 删除换行符

我有以下文件log.xml:

<entry>
  <message>Line 1
  Line 2 and so on</message>
</entry>
Run Code Online (Sandbox Code Playgroud)

在CentOS 5.4上使用xmlstarlet 1.0.1,如果我运行以下命令,同时删除换行符message:

xml sel -t -m //entry -v "translate(message,'&#xa;' ,'@')" log.xml
Run Code Online (Sandbox Code Playgroud)

结果是:

Line 1@  Line 2 and so on
Run Code Online (Sandbox Code Playgroud)

在CentOS 6上使用xmlstarlet:

1.3.1
compiled against libxml2 2.7.6, linked with 20706
compiled against libxslt 1.1.26, linked with 10126
Run Code Online (Sandbox Code Playgroud)

我会收到:

Line 1
  Line 2 nd so on
Run Code Online (Sandbox Code Playgroud)

注意"和"转换为空.我想这不是xmlstarlet的问题,而是libxslt的一些变化.

任何想法如何解决它?

UPDATE

添加字母"a"转换为空的问题.

xml linux xmlstarlet

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

从一个线程中提升asio - SSL async_read和async_write

我知道OpenSSL,boost asio SSL实现是基于的,不允许并发SSL_read()和SSL_write()(即SSL_read()和SSL_write()由不同的线程执行).

从同一个线程调用SSL套接字上的boost asio async_read()和async_write()是否安全?

谢谢

c++ ssl boost openssl boost-asio

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

在gcc中启用C++ 0x支持的副作用

以下链接,我想知道在GCC中启用C++ 0x是否存在一些副作用.

根据gcc:"GCC对C++ 0x的支持是实验性的 ".

我担心的是,例如编译器会生成一些不同的代码,或者标准库使用一些在gcc中被破坏的C++ 0x特性.

因此,如果我没有明确使用任何C++ 0x功能,它可能会破坏我现有的代码吗?

gcc c++11

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

运行HelloWorld cocos2dx失败

我是新手

尝试在64位Linux机器(openSuse 12.1)上运行带有cocos2dx(cocos2d-2.0-rc2-x-2.0.1),Android SDK 20.0.1,Android NDK r8的HelloWorld示例.

从Eclipse运行仿真得到以下异常:

W/dalvikvm(  644): threadid=13: thread exiting with uncaught exception (group=0x40a13300)
E/AndroidRuntime(  644): FATAL EXCEPTION: GLThread 77
E/AndroidRuntime(  644): java.lang.IllegalArgumentException: No configs match configSpec
E/AndroidRuntime(  644):        at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:863)
E/AndroidRuntime(  644):        at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1024)
E/AndroidRuntime(  644):        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
E/AndroidRuntime(  644):        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
D/gralloc_goldfish(  644): Emulator without GPU emulation detected.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

linux android cocos2d-x

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

具有2个参数的C ++预处理宏

我有以下宏:

 #define LOG(level,text)
Run Code Online (Sandbox Code Playgroud)

我想定义包含级别和文本的宏:

#define MY_LOG_MESSAGE LEVEL1,"This is my log"
Run Code Online (Sandbox Code Playgroud)

这样我就可以运行:

  LOG(MY_LOG_MESSAGE);
Run Code Online (Sandbox Code Playgroud)

gcc发出预处理错误:

错误:宏“ LOG”需要2个参数,但仅给出1个

有任何想法吗?

c++ c-preprocessor

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