小编Dan*_*iel的帖子

修复一个Git分离的头?

我在我的存储库中做了一些工作,发现文件有本地更改.我不再想要它们所以我删除了文件,以为我可以签出一份新的副本.我想做Git相当于

svn up .
Run Code Online (Sandbox Code Playgroud)

使用git pull似乎没有用.一些随机搜索引导我到一个有人推荐做的网站

git checkout HEAD^ src/
Run Code Online (Sandbox Code Playgroud)

(src是包含已删除文件的目录).

现在我发现我有一个超然的头.我不知道那是什么.我怎么撤消?

git

1318
推荐指数
19
解决办法
128万
查看次数

Vim中的多行正则表达式支持

我注意到跨多行匹配的标准正则表达式语法是使用/ s,如下所示:

This is\nsome text
/This.*text/s
Run Code Online (Sandbox Code Playgroud)

例如,这在Perl中有效,但在Vim中似乎不支持.相反,我必须更加具体:

/This[^\r\n]*[\r\n]*text/
Run Code Online (Sandbox Code Playgroud)

我找不到任何原因,为什么这应该是,所以我想我可能只是错过了vim帮助中的相关位.

任何人都可以通过某种方式确认这种行为吗?

regex vim

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

gprof报告没有时间积累

我正在尝试在运行OSX 10.5.7的计算机上使用gprof配置C++应用程序.我以通常的方式使用g ++编译,但是使用-pg标志,运行应用程序并尝试使用gprof查看调用图.

不幸的是,我的调用图包含所有时间列的全零."被调用"列中的值具有合理的值,因此看起来有些内容被分析但我对其他数据的缺乏感到困惑.

我的所有源文件都以类似的方式编译:

g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o  ScenarioLoader.o ScenarioLoader.cpp
Run Code Online (Sandbox Code Playgroud)

然后我运行'ar'将所有目标文件捆绑到一个库中.后来,我链接并运行gprof如下:

g++ -pg -lm  -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o
./vrpalone
gprof gmon.out | less
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ unix macos gprof

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

在getRuntime().exec中使用引号

我想使用字符串作为输入来调用bash.就像是:

sh -l -c "./foo"
Run Code Online (Sandbox Code Playgroud)

我想从Java做到这一点.不幸的是,当我尝试使用命令调用时getRuntime().exec,我收到以下错误:

      foo": -c: line 0: unexpected EOF while looking for matching `"'

      foo": -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

它似乎与我的字符串没有被EOF终止有关.

有没有办法将特定于平台的EOF插入Java字符串?或者我应该寻找另一种方法,比如在调用"sh"之前写入临时脚本?

java exec runtime.exec

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

如何建立STL迭代器平等?

我想知道,如何为STL迭代器建立等式(==)?它是一个简单的指针比较(因此基于地址)或更奇特的东西?

如果我有来自两个不同列表对象的两个迭代器并且我比较它们,结果总是为假?

如果我将有效值与超出范围的值进行比较,该怎么办?那总是假的吗?

c++ stl

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

为一组整数生成id

背景:

我正在处理整数序列{0,1,2 ......,n}的排列.我有一个局部搜索算法,以某种系统的方式将排列转换为另一种排列.算法的要点是产生最小化成本函数的置换.我想处理各种各样的问题,从n = 5到n = 400.

问题:

为了减少搜索工作,我需要能够检查我之前是否处理过特定的整数排列.我正在使用哈希表,我需要能够为每个排列生成一个id,我可以将其用作表中的键.但是,我想不出任何好的哈希函数将一组整数映射到一个键中,这样碰撞不会太频繁发生.

我试过的东西:

我开始生成一个n个素数序列,并将我的排列中的第i个数乘以第i个素数,然后对结果求和.然而,即使对于n = 5,所得到的密钥也会产生冲突.

我还想将所有数字的值连接在一起,并将结果字符串的整数值作为键,但即使对于小的n值,id也会很快变得太大.理想情况下,我希望能够将每个键存储为整数.

stackoverflow对我有什么建议吗?

algorithm math hash

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

退出OpenGL应用程序时清理

我有一个OSX OpenGL应用程序,我正在尝试修改.当我创建应用程序时,会调用一大堆初始化函数 - 包括我可以指定自己的鼠标和键盘处理程序等的方法.例如:

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(100, 100);
glutInitWindowSize(700, 700);
glutCreateWindow("Map Abstraction");
glutReshapeFunc(resizeWindow);
glutDisplayFunc(renderScene);
glutIdleFunc(renderScene);
glutMouseFunc(mousePressedButton);
glutMotionFunc(mouseMovedButton);
glutKeyboardFunc(keyPressed);
Run Code Online (Sandbox Code Playgroud)

在某些时候,我将控制传递给glutMainLoop并运行我的应用程序.在运行过程中,我创建了一大堆对象.我想清理它们.有什么办法可以告诉GLUT在退出之前调用一个清理方法吗?

c++ opengl macos glut

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

我注意到整数和多头都有相同的大小.为什么?

刚刚在OSX上注意到这一点,我发现它很好奇,因为我预计长期比int更大.有没有什么好的理由让它们大小相同?

c++

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

在OSX 10.5上使用LuaJava的链接器错误

我有一些问题让这个库在我的OSX安装上工作.特别是,我想将它与Java 1.6 VM一起使用,但在我编译之后,我得到以下内容:

java -cp "luajava-1.1.jar" org.keplerproject.luajava.Console
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/daniel/src/luajava- 1.1/libluajava-1.1.jnilib: 
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1822)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1739)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1030)
    at org.keplerproject.luajava.LuaState.<clinit>(LuaState.java:92)
    at org.keplerproject.luajava.LuaStateFactory.newLuaState(LuaStateFactory.java:59)
    at org.keplerproject.luajava.Console.main(Console.java:49)
Run Code Online (Sandbox Code Playgroud)

我正在使用Lua 5.1.4运行OSX 10.5.8我还将我的OSX默认VM更改为1.6.0,因为:

/System/Library/Frameworks/JavaVM.framework/Home -> Versions/1.6.0/Home/
/System/Library/Frameworks/JavaVM.framework/Versions/Current -> 1.6.0/
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK -> 1.6.0/
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我注意到当我使用Java 1.5时,一切都很棒.除了我不想1.5,我想1.6.

java macos lua luajava

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

我可以在原语上调用delete吗?

我有一个模板化的类myFoo,它存储T类型的"东西",它可以是原始的,也可以是指向复杂类型的指针.当myFoo被删除时,我想释放与它碰巧存储的所有内容相关的所有内存.这意味着我需要在每个存储的指针上调用delete,但我也可能最终在基元上调用delete.这样安全吗?

我在下面附上了myFoo的草图,以便更好地突出显示正在发生的事情.我不确定析构函数的行为是否定义明确.

template<class T>
class myFoo
{
   public:
       myFoo(int size) 
       { 
          size_ = size;
          T* foo = new T[size_]; 
       }

       void addFoo(T tmp, int index) 
       {
             foo[index] = tmp;
       }

       virtual ~myFoo()
       {
           for(int i=0; i < size_; i++)
           {
               delete foo[i];
           }
           delete [] foo;
       }

  private:
      int size_;
      T* foo;
}
Run Code Online (Sandbox Code Playgroud)

c++ templates destructor delete-operator

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

标签 统计

c++ ×5

macos ×3

java ×2

algorithm ×1

delete-operator ×1

destructor ×1

exec ×1

git ×1

glut ×1

gprof ×1

hash ×1

lua ×1

luajava ×1

math ×1

opengl ×1

regex ×1

runtime.exec ×1

stl ×1

templates ×1

unix ×1

vim ×1