Articles of Linux操作系统

linux剪贴板读/写在C

我做了大量的search,但我仍然不确定如何进行。 在Linux下读/写剪贴板的最常用方法是什么? 我希望同时支持Gnome和KDE桌面。 更新 :我有没有一个简单的解决scheme,你必须“聚合”多个来源(GNOME,KDE),以制定一个解决scheme?

只有当它们出现在insmoded Linux Kernel模块中时,如何使用导出的符号?

我正在修改一个Linux内核,将一些function添加到Linux虚拟服务器(LVS)。 我开发了一个模块(我称之为net/netfilter/ipvs/ip_vs_utils.c ),其中包含一些用于负载平衡的function。 这里所有的函数都使用EXPORT_SYMBOL()来导出。 这个模块在逻辑上并不是一直加载。 我的意图是让用户决定是否要使用这个附加function(加载或卸载模块)。 我的问题是,我怎样才能从现有的(当然是修改的)模块( net/netfilter/ipvs/ip_vs_core.c )中OPTIONALLY(取决于模块是否在运行)调用这些函数。 像这样的东西: if(ip_vs_utils_IsLoaded) { function1(arg1, arg2, arg3); // being function1 defined on ip_vs_utils.c }

无法svn使用融合

我想用meld来查看修订之间的区别。 我安装了meld,然后在项目目录中执行: svn diff -r 2165:2182 –diff-cmd meld 但它会抛出以下错误: Index: app/models/college_friends_count.rb =================================================================== svn: E200012: Process 'meld' failed (exitwhy 2) 有谁可以告诉我这里有什么问题吗?

问题与JPA,EclipseLink和区分大小写的MySQL

我的应用程序在Windows环境下工作正常,但是当我尝试在Linux服务器上testing时,JPA EclipseLink sql生成的问题。 我用小写创build了所有的表格,但是当我查看日志时,我看到类似的东西,都是大写的: INSERT INTO PFC(ID, ALUMN,PROPOSED_ID) VALUES (?, ?, ?) 像这样(序列)与其他人混合小写: INSERT INTO buzonmensajes (mensajeid, buzonid) VALUES (?, ?) bind => [27, 1] 当然,一切都出错了,服务器没有find大写的表格等等。 我们使用orm.xml来定义所有的数据库操作(查询,实体等等)以及所有的小写字母。 我知道有一个Mysql参数来改变这些行为,但不幸的是,我不允许改变它。 我的问题是,我需要告诉JPA创build所有的查询,并以小写字母的表名插入statmets

Linux USB编程

我是Linux内核编程的新手。 我希望开发一个程序来读取USB驱动器信息,如制造商名称,容量等。我知道描述符及其属性。 但我不明白如何枚举连接到系统的USB驱动器。 我正在寻找启动内核和USB端口之间连接的function。 这怎么可能?

如何在Eclipse中设置一个Linux C ++项目?

我在Linux环境中有一个现有的C ++项目,并想将其导入到Eclipse IDE中。 不知道是否应该启动一个新的Eclipse C ++项目,或者是否有一些方法来导入源文件?

在传递NULL的情况下转储核心

strdup(null)转储核心。 尝试在Ubuntu和FreeBSD的两个。 为什么? 它不应该返回null吗? char *b = NULL; a = strdup(b); 这将会在strdup调用中转储核心。

Windows上的Cmake不会添加共享库path(适用于Linux)

我一直在Linux上使用CMake和Eclipse一段时间,一直在处理包含众多可执行文件和共享对象的多个目标项目。 我使用了源代码构build和在Linux上的二进制文件被放到自己的目录。 当我在linux上执行这个操作时,eclipse以某种方式能够find共享对象,并且很好地运行可执行文件,但是在Windows上这种情况不会发生。 在Windows上,我不得不添加一个指向dll的PATH环境variables,或者我可以将其构build到一个bin和lib目录中(尽pipe我过去曾经用过一个我忘记的问题,使我想避免这个问题) 。 为什么这在Windows上运行不同于linux? 这是我失踪的设置还是这只是不工作? 构build本身正在完美工作。 我正在使用MinGW,Eclipse Kepler和Windows 7 64位。 提前致谢。

使用AWK从两个文件中分解n个列

我有两个N列数的文件 文件1: A 1 2 3 ……. Na1 B 2 3 4 ……. Nb1 文件2: A 2 2 4 ……. Na2 B 1 3 4 ……. Nb2 我想要一个输出从File1的第一列值将被从File2的第一列中减去,这样直到列N如下所示: A -1 0 -1 …….. (Na1-Na2) B 1 0 0 …….. (Nb1-Nb2) 如何在Linux环境中执行AWK或Perl脚本?

堆栈限制和线程之间的关系

在Linux实现(或任何操作系统)中,ulimit -s <value >与堆栈大小(在线程级别)之间的关系是什么? 是<number of threads > * <each thread stack size >必须小于< stack size assigned by ulimit command >有效alignment? 在下面的程序中 – 每个线程分配char [PTHREAD_STACK_MIN]并创build10个线程。 但是,当ulimit被设置为10 * PTHREAD_STACK_MIN时,它不会因为中止而造成内存溢出。 对于stacksize的一些随机值(远小于10 * PTHREAD_STACK_MIN),它是核心转储。 为什么这样? 我的理解是,stacksize表示由进程的所有线程总和占用的堆栈。 线程函数 #include <cstdio> #include <error.h> #include <unistd.h> #include <sys/select.h> #include <sys/time.h> #include <sys/resource.h> using namespace std; #include <pthread.h> #include <bits/local_lim.h> const unsigned […]