标签: linux

如何在Linux中为GCC添加默认包含路径?

我希望gcc $HOME/include除了通常的include目录之外还包含文件,但似乎没有类似的东西$LD_LIBRARY_PATH.

我知道我可以在编译时(或在makefile中)在命令行添加include目录,但我真的很喜欢这里的通用方法,就像在库中一样.

linux gcc environment-variables include

277
推荐指数
4
解决办法
46万
查看次数

设置开发设备(????????????无权限)

我正在使用三星galaxy nexus手机(Android 4.0平台).

我正在开发Ubuntu Linux操作系统上的Android应用程序.我想直接在三星手机设备上运行我的应用程序,所以我执行了以下设置步骤:

  1. 在我的项目AndroidManifest.xml文件中,添加android:debuggable="true"<application>元素中

  2. 在设备上,在" 设置">"安全性"中启用" 未知来源"

  3. 在设备上,在设置>开发人员选项中启用USB调试

  4. 在我的计算机上,/etc/udev/rules.d/51-android.rules使用以下内容创建了该文件:

    SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666", GROUP="plugdev" 
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在我的计算机上,运行该chmod a+r /etc/udev/rules.d/51-android.rules命令

然后,在我的计算机上,我打开了一个终端并执行了adb devices命令,我得到了:

List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

由于我没有看到我的设备,只能???????????? no permissions运行以下命令:

 adb kill-server
 adb start-server
 adb devices
Run Code Online (Sandbox Code Playgroud)

但我仍然得到:

List of devices attached 
????????????    no permissions
Run Code Online (Sandbox Code Playgroud)

为什么?我错过了什么?

linux ubuntu android adb fastboot

274
推荐指数
8
解决办法
20万
查看次数

轻松测量经过的时间

我正在尝试使用time()来衡量我的程序的各个点.

我不明白为什么之前和之后的值是一样的?我知道这不是描述我的程序的最佳方式,我只想看看有多长时间.

printf("**MyProgram::before time= %ld\n", time(NULL));

doSomthing();
doSomthingLong();

printf("**MyProgram::after time= %ld\n", time(NULL));
Run Code Online (Sandbox Code Playgroud)

我试过了:

struct timeval diff, startTV, endTV;

gettimeofday(&startTV, NULL); 

doSomething();
doSomethingLong();

gettimeofday(&endTV, NULL); 

timersub(&endTV, &startTV, &diff);

printf("**time taken = %ld %ld\n", diff.tv_sec, diff.tv_usec);
Run Code Online (Sandbox Code Playgroud)

我如何阅读结果**time taken = 0 26339?这是否意味着26,339纳秒= 26.3毫秒?

那怎么说**time taken = 4 45025,这意味着4秒和25毫秒?

c c++ linux time measurement

272
推荐指数
12
解决办法
48万
查看次数

如何在Linux中生成具有绝对路径的文件列表?

我正在编写一个shell文件,它将文件路径作为输入.

出于这个原因,我需要生成具有完整路径的递归文件列表.例如,该文件bar具有以下路径:

/home/ken/foo/bar
Run Code Online (Sandbox Code Playgroud)

但是,据我所看到的,ls并且find只给出相对路径列表:

./foo/bar   (from the folder ken)
Run Code Online (Sandbox Code Playgroud)

这似乎是一个明显的要求,但我不能看到任何东西findls手册页.

如何在shell中生成文件列表,包括其绝对路径?

linux command-line ls absolute-path

271
推荐指数
13
解决办法
93万
查看次数

如何列出Linux组中的所有用户?

如何在Linux(以及可能的其他unices)中列出组中的所有成员?

unix linux

271
推荐指数
8
解决办法
35万
查看次数

使用-i选项的sed命令在Mac上失败,但适用于Linux

我已成功使用以下sed命令在Linux中搜索/替换文本:

sed -i 's/old_link/new_link/g' *
Run Code Online (Sandbox Code Playgroud)

但是,当我在Mac OS X上试用它时,我得到:

"命令c期望\后跟文本"

我以为我的Mac运行普通的BASH shell.这是怎么回事?

编辑:

根据@High Performance,这是由于Mac sed具有不同的(BSD)风格,因此我的问题是如何在BSD中复制此命令sed

编辑:

以下是导致此问题的实际示例:

sed -i 's/hello/gbye/g' *
Run Code Online (Sandbox Code Playgroud)

linux macos bash sed

271
推荐指数
9
解决办法
17万
查看次数

如何找到文本文件中的行结尾?

我试图在bash中使用某些东西来显示打印文件中的行结尾而不是解释.该文件是来自SSIS/SQL Server的转储,由Linux机器读入以进行处理.

  • 是否有内的任何开关vi,less,more,等?

  • 除了查看行结尾之外,我还需要知道它是什么类型的行结束(CRLFLF).我怎么找到它?

linux bash command-line newline line-endings

269
推荐指数
9
解决办法
27万
查看次数

如何使用find命令使用正则表达式?

我有一些用生成的uuid1字符串命名的图像.例如81397018-b84a-11e0-9d2a-001b77dc0bed.jpg.我想使用"find"命令找出所有这些图像:

find . -regex "[a-f0-9\-]\{36\}\.jpg".
Run Code Online (Sandbox Code Playgroud)

但它不起作用.正则表达式出了什么问题?有人可以帮我吗?

regex linux find

268
推荐指数
7
解决办法
36万
查看次数

怎么应该使用strace?

一位同事曾告诉我,当Linux上的所有内容都无法调试时,最后一个选项是使用strace.

我试图学习这个奇怪工具背后的科学,但我不是系统管理大师,我没有真正得到结果.

所以,

  • 究竟是什么,它做了什么?
  • 如何以及在何种情况下使用它?
  • 如何理解和处理输出?

简而言之,简单来说,这些东西是如何工作的?

linux debugging strace

266
推荐指数
8
解决办法
27万
查看次数

如何使用'cut'找到最后一个字段

使用sed使用awk,当字段数量未知或每行更改时,如何获取最后一个字段? cut

linux bash cut

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