小编use*_*107的帖子

如何检查Perl脚本是否没有任何编译错误?

我在我的Bash脚本中调用了许多Perl脚本(有时也来自csh).

在Bash脚本的开头我想要一个测试,它检查所有Perl脚本是否没有任何编译错误.

实现此目的的一种方法是实际调用Bash脚本中的Perl脚本以及grep管道日志文件中的"编译错误",但由于在代码中的不同点调用不同的Perl脚本,这会变得混乱,所以我想要在Bash脚本的最开始执行此操作.

有没有办法检查Perl脚本是否没有编译错误?

perl compilation

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

为什么递归grep显示"没有这样的文件或目录"错误?

我正在贪图本地的svn目录.当我跑步时,grep -r "pattern" .我得到一些错误,如

grep:./ Data/test:没有这样的文件或目录

谁要求grep寻找不存在的文件?


>grep --version
grep (GNU grep) 2.10

>lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Run Code Online (Sandbox Code Playgroud)

symlink grep

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

如何阻止Vim创建/打开新文件?

当我们提供非现有文件的名称时,Vim会创建新文件.这对我来说是不可取的,因为有时候我会给出错误的文件名并且无意打开文件,然后关闭它.

有没有办法阻止Vim打开新文件?例如,当我这样做时vi file1,它应该说File doesn't exist并留在bash终端上(没有打开vi窗口)

vi vim

10
推荐指数
2
解决办法
1254
查看次数

在C++中,如何编写析构函数来释放指向结构的指针的内存?

这是我的结构A.

struct A {
    int a1;
    int a2;
    ~A() { }
};
Run Code Online (Sandbox Code Playgroud)

B 是另一个包含指向A的指针的结构

 struct B {
    B(int b, A* a)
      : b1(b), ptr2A(a)
    {}
    int b1;
    A* ptr2A;

    ~B() {
         delete b1;
         // traverse each element pointed to by A, delete them <----
    }
};
Run Code Online (Sandbox Code Playgroud)

后来我使用下面的代码

int bb1;
vector <A*> aa1;
// do some stuff
B *ptrB = new B(bb1, aa1);
Run Code Online (Sandbox Code Playgroud)

我需要删除/释放ptrB指向的所有内存.因此,我需要在struct B中编写正确的析构函数.如何遍历A指向的每个元素并删除它们?

c++ struct

9
推荐指数
3
解决办法
4万
查看次数

如何将矢量大小与整数进行比较?

如果向量(声明为vector<int> vectorX)的大小与预期不同,我使用以下代码抛出错误.

vector<int> vectorX;
int intendedSize = 10;
// Some stuff here
if((int)(vectorX.size()) != (intendedSize)) {
    cout << "\n Error! mismatch between vectorX "<<vectorX.size()<<" and intendedSize "<<intendedSize;
    exit(1);
}
Run Code Online (Sandbox Code Playgroud)

cout声明显示两者的大小相同.比较并未表明它们是平等的.

输出是 Error! mismatch between vectorX 10 and intendedSize 10

错误在哪里?早些时候我试过,(unsigned int)(intendedSize)但这也表明他们不平等.

c++ vector

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

为什么在bash中反斜杠?

我在〜/ .bashrc中导出了一个变量,如下所示(后跟source~/.bashrc)

export w=/home/user/workspace/
Run Code Online (Sandbox Code Playgroud)

当我在命令行上时,我尝试以下列方式访问$ w的子目录

user$ vi $w/
Run Code Online (Sandbox Code Playgroud)

在此之后,当我按Tab键时,会出现一个神秘的反斜杠

user$ vi \$w/
Run Code Online (Sandbox Code Playgroud)

它禁用进一步的制表符完成.为什么?可能不vi具体,因为它甚至发生ls.

Bash版本4.2.24(1)-release(i686-pc-linux-gnu)运行Ubuntu 11.04

编辑 解决方法:在点击选项卡之前按Esc + Ctrl + E.

bash ubuntu bash-completion

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

C/C++仅比较一次

我有一个while循环,我想只进行一次特定操作,并为所有其他循环运行执行不同的操作.

while (..) {
  if ( 0 == count ) {
       // do_this
  } else {
       // do_that
  }
  count++;
}
Run Code Online (Sandbox Code Playgroud)

在这里,count需要0仅与一次进行比较,但在每次循环运行中不必要地进行比较.有没有另一种方法,比较只发生一次,一旦成功不再被调用?

c c++ loops

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

Android NDK 应用程序无法达到任何断点

我正在使用https://www.youtube.com/watch?v=kjsC-lKUgM8教程尝试调试一个简单的 NDK 应用程序。我已经完成了视频中的所有操作,除了:

  1. 我使用的是 OS X 10.9.3 而不是 Windows。
  2. 我没有android:debuggable=true在 AndroidManifest.xml 中使用(因为 eclipse 认为它是错误的),而是我已经设置了 NDK 路径 fromPreferences->Android->NDK和 in Project Properties -> C/C++ BuilduncheckedUse default build command并在那里设置ndk-build NDK_DEBUG=1 APP_OPTIM=debug
  3. 我不使用x86 emulatorSamsung Duos S设备Android 4.0.4

但是视频中使用的 breakpoiin 在我的情况下没有被击中。我已经在第 4 天尝试调试一个简单的 NDK 测试项目。查了很多资料:

  1. Android 原生开发工具包说明书
  2. 一堆论坛和教程
  3. 视频

但是不能打一个该死的断点。如果你能做到这一点,请帮忙。

c++ debugging java-native-interface android android-ndk

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

VIM中心文本显示在屏幕上,左右无效边框

vim用来编辑文本文件。我的屏幕太宽,在编辑时总是看起来靠近屏幕左边框很麻烦。如果您在MS Office中打开文档,则页面将“居中”而不是左对齐,并且在RHS和LHS上具有非活动区域边框。如何获得类似的行为vim

vim terminal user-interface text-editor ubuntu-14.04

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

如何使用/ usr/bin/env perl功能以及perl参数?

我有一个与shebang的perl脚本

#!/usr/bin/env perl
Run Code Online (Sandbox Code Playgroud)

我希望这个脚本在执行时打印每一行.所以我安装了Devel :: Trace并将脚本更改为shebang

#!/usr/bin/env perl -d:Trace
Run Code Online (Sandbox Code Playgroud)

但这会产生错误,因为它不是有效的语法.

我应该怎么做才能使用env功能和tracing功能?

linux perl trace environment-variables

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