Tag: linux

如何测量应用程序或进程的实际内存使用情况?

这个问题在这里详细介绍。 如何衡量Linux中的应用程序或进程的内存使用情况? 从Linux上理解内存使用的博客文章中, ps并不是一个准确的工具。 为什么ps是“错误的” 根据你如何看它, ps不报告进程的真实内存使用情况。 它真正在做的是显示每个进程如果是唯一运行的进程将占用多less真实内存。 当然,典型的Linux机器在任何时候都有数十个进程在运行,这意味着由ps报告的VSZ和RSS数字几乎肯定是错误的 。

用于Linux的C ++ IDE?

我想把我的编程视野扩展到Linux。 一个好的,可靠的基本工具集是重要的,比IDE更基础的是什么? 我可以find这些SO主题: 适用于Linux和Linux的轻量级IDE 你用什么工具在Linux上开发C ++应用程序? 我不是在寻找一个轻量级的 IDE。 如果一个IDE值钱,那么我会付钱,所以它不一定是免费的。 那么我的问题是: C ++编程IDE有什么好处可用于Linux? 最低限度是相当标准的:语法高亮,代码完成(如intellisense或其Eclipse对应)和集成debugging(如基本断点)。 我已经自己search了,但是有这么多,几乎不可能用手将好坏分开,特别是对于像我这样在Linux中几乎没有C ++编码经验的人来说。 我知道Eclipse支持C ++ ,并且我非常喜欢Java的IDE,但对于C ++来说它有什么用处,还有更好的方法吗? 第二篇文章实际上有一些很好的build议,但是我所缺less的是什么使得拥塞的IDE对用户来说如此的好,它的优点是什么? 也许我的问题应该是: 你提出什么IDE(给你的经验),为什么?

如何从C中的串口打开,读取和写入

我对读写串口有些困惑。 我在Linux中有一个使用FTDI USB串行设备转换器驱动程序的USB设备。 当我插入时,它会创build:/ dev / ttyUSB1。 我认为它很容易在C中打开和读写。我知道波特率和奇偶校验信息,但似乎没有标准呢? 我是否错过了某些东西,或者有人能指出我的方向?

awk保存修改到位

我正在学习awk ,我想知道是否有一个选项来修改文件,类似于sed我将使用-i选项来保存对文件的修改。 我明白我可以使用redirect来写入更改。 但是有没有在awk的选项做到这一点?

如何在Linux / Unix上永久设置$ PATH?

我试图添加一个目录到我的path,所以它将始终在我的Linuxpath。 我试过了: export PATH=$PATH:/path/to/dir 这是有效的,但是每次我退出terminal并启动一个新的terminal实例,这个path都会丢失,我需要再次运行export命令。 我该怎么做,这将永久设置?

如何比较Bash中的“if”语句中的两个stringvariables?

我试图让一个if语句在Bash中工作(使用Ubuntu ): #!/bin/bash s1="hi" s2="hi" if ["$s1" == "$s2"] then echo match fi 我已经尝试了各种forms的if语句,使用[["$s1" == "$s2"]] ,使用和不使用引号,使用= , ==和-eq ,但我仍然得到以下错误: [嗨:命令未find 我看了各种网站和教程,并复制这些,但它不工作 – 我做错了什么? 最后,我想说如果$s1包含$s2 ,那么我该怎么做呢? 我只是工作了空间位..:/我怎么说包含? 我试过了 if [[ "$s1" == "*$s2*" ]] 但它没有工作。

find没有/ proc / self / exe的当前可执行文件的path

在我看来,Linux使用/ proc / self / exe很容易。 但是我想知道是否有一个方便的方式来find当前应用程序的目录在C / C + +与跨平台接口。 我已经看到一些argv [0]的项目,但它似乎并不完全可靠。 如果你曾经需要支持Mac OS X(没有/ proc /),你会怎么做? 使用#ifdefs隔离平台特定的代码(例如NSBundle)? 或尝试从argv [0],$ PATH推导可执行文件的path,以及在边缘情况下发现错误的风险?

有没有办法让非root进程绑定到Linux上的“特权”端口?

在我的开发盒上有这个限制是非常烦人的,因为除了我以外,没有任何用户。 我知道标准的解决方法 ,但没有一个正是我想要的: authbind (Debiantesting版本1.0,仅支持IPv4) 使用iptables的REDIRECT目标将一个低端口redirect到一个高端口 (“nat”表尚未针对ip6tables,iptables的IPv6版本实现) sudo(以root身份运行是我试图避免的) SELinux(或类似)。 (这只是我的开发盒,我不想介绍很多额外的复杂性。) 有没有一些简单的sysctlvariables允许非root进程绑定到Linux上的“特权”端口(端口less于1024),或者我只是运气不好? 编辑:在某些情况下,您可以使用function来做到这一点。

在64位系统(GNU工具链)上组装32位二进制文​​件

我编写可以编译的汇编代码: as power.s -o power.o 链接power.o目标文件时出现问题: ld power.o -o power 为了在64位操作系统(Ubuntu 14.04)上运行,我在power.s文件的开头添加了power.s ,但是我仍然得到错误: 分割故障(核心转储) power.s : .code32 .section .data .section .text .global _start _start: pushl $3 pushl $2 call power addl $8, %esp pushl %eax pushl $2 pushl $5 call power addl $8, %esp popl %ebx addl %eax, %ebx movl $1, %eax int $0x80 .type […]

错误:无法find或加载主类

我无法编译和运行我的Java代码,目的是为了让我能够将Java与Vensim(一个仿真build模包)的共享对象连接起来。 下面的代码编译没有错误: javac -d . -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel.java VensimHelper.java VensimException.java VensimContextRepository.java 但是,当我尝试运行以下: java -cp ./apache-log4j-1.2.16/log4j-1.2.16.jar:./vensim.jar SpatialModel vars 我得到以下错误:“错误:无法find或加载主类SpatialModel”。 我的SpatialModel.java代码确实包含了一个'main'方法(下面),所以我不确定这个问题是什么 – 任何人都可以帮我一下吗? 谢谢。 import java.io.File; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.apache.log4j.Logger; public class SpatialModel { private VensimHelper vh; public static final String DLL_LIBNAME_PARAM = "vensim_lib_nam"; public static final String MODEL_PATH_PARAM = "vensim_model_path"; […]