-
在自定义libc中实现线程本地存储
所属栏目:[Linux] 日期:2020-10-19 热度:67
我正在为非常小的和静态链接的程序实现一小部分libc,我认为添加TLS支持将是一个很好的学习体验.我用Ulrich Dreppers TLS document作为参考.我设置了两个字符串来试试这个:static __thread const char msg1[] = TLS (1).n; /* 10 bytes */ static __thread[详细]
-
.net – 如何使用Mono Develop在Linux上创建Excel文件
所属栏目:[Linux] 日期:2020-10-19 热度:97
我目前正在开发一个与Excel互操作的C#.net项目(在VS2010中).但在某些时候,我将不得不通过Mono Develop将项目放到我们的Linux服务器上.我听说Excel互操作在Mono中不起作用.无论如何我可以使用Mono通过代码创建和操作Excel文件吗?非常感谢!编辑:理想情况下,[详细]
-
linux – svn status | sort – 不对输出进行排序
所属栏目:[Linux] 日期:2020-10-19 热度:66
我想排序svn状态输出,但不知何故这个命令svn status | sort 不排序输出.你知道为什么吗?例如:$svn status ? idrd ? core.7319 ? difftest ? core.29328 A + rf_common/ext_api.sav D rf_com[详细]
-
确定两个文件路径是否指向Linux/C下的同一文件?
所属栏目:[Linux] 日期:2020-10-19 热度:173
在Linux下,我有两个文件路径A和B:const char* A = ...; const char* B = ...; 我现在想确定,我应该打开(2)他们两个......int fda = open(A, ...); int fdb = open(B, ...); ...我会在文件系统中打开两个文件句柄到同一个文件吗?为了确定这一点,我想到了stat[详细]
-
Unix域上的套接字在Solaris 10上比在Linux上慢100倍?
所属栏目:[Linux] 日期:2020-10-19 热度:177
我正在为Linux项目和Linux上的本地套接字性能进行基准测试.出于某种原因,我无法发现,Solaris上的性能比Linux上差100倍.在Linux中,打开一个套接字,每次交换一个非常短(2个字符)的消息并关闭它需要大约10us的时间.在Solaris上,同样的事情需要大约1000us.设置是V[详细]
-
linux – 带有Tun接口的I/O.
所属栏目:[Linux] 日期:2020-10-19 热度:130
目的是让程序拦截一组IP数据包并读取其原始内容,然后在修改之后将其重新插入网络.我的方法是基于设置Tuntap接口(Tun,具体),然后让iptables和类似的方法将所需的数据包重定向到这个隧道接口.出于测试目的,我编写了这个简短的shell脚本来设置Tun接口并添加所需[详细]
-
链接到多个库,其中一个包装了一组系统调用
所属栏目:[Linux] 日期:2020-10-19 热度:52
所以这就是我正在关注的场景:我有3个库 - A,B和C.库A实现函数foo()并将其公开为API.函数foo()调用POSIX write()调用来写一些数据.库B使用linker -wrap选项将包装器写入write()glibc调用.库C链接到A和B.库C进行的任何write()调用都将被包装器拦截库B.但是,我[详细]
-
在python中使用路径/usr/share/pyshared有什么用?
所属栏目:[Linux] 日期:2020-10-19 热度:131
我发现用python开发的一些应用程序将它们的文件放在这个路径中,这个路径的用途是什么,我应该放入哪些文件?最佳答案该目录包含可由多个python版本共享的独立于架构的python模块.不要操纵该目录.见Debian Python Policy Chapter 1 - Python Packaging[详细]
-
linux – 可执行文件上的setuid似乎不起作用
所属栏目:[Linux] 日期:2020-09-26 热度:108
我写了一个名为killSPR的小C实用程序来杀死RHEL盒子上的以下进程.这个想法适用于登录这个linux盒子的人能够使用这个实用程序杀死下面提到的进程(这不起作用 - 如下所述).cadmn@rhel /tmp ps -eaf | grep -v grep | grep SPR cadmn 5822 5821 99 17:[详细]
-
c# – Linux上的Mono本机P/Invoke:DllNotFound
所属栏目:[Linux] 日期:2020-09-26 热度:94
我正在尝试使用mono加载一些本机linux库.我用调试标志运行mono:Mono: DllImport attempting to load: libavformat.57. Mono: DllImport error loading library /home/filoe/Desktop/cscore/cscore/Samples/LinuxSam[详细]
-
c – 如何知道一个共享库是否依赖于另一个共享库?
所属栏目:[Linux] 日期:2020-09-26 热度:112
我写了一个名为“libmyssl.so”的共享库,我在我的代码中使用了一些openssl函数,make文件如下所示: g++ -v -shared -lz -lssl -lcrypto -Wl,-soname,libmyssl.so.1,-o libmyssl.so.1.0 myssl.o 之后,我使用ldd命令查看它是否依赖于libssl.so:[详细]
-
使用MATLAB Engine连接已运行的MATLAB
所属栏目:[Linux] 日期:2020-09-26 热度:165
The MATLAB Engine API允许从C程序访问MATLAB功能.要设置MATLAB Engine会话,可以调用engOpen函数.默认情况下,这将启动MATLAB的新实例,专门用于Engine应用程序.我想要的是使用Engine应用程序中已经运行的MATLAB会话,以便我可以访问它的变量.我需要在Linux和OS[详细]
-
c – 来自Windows的交叉编译GNU ARM(BeagleBoneBlack). * .elf上的运行时错误:“没
所属栏目:[Linux] 日期:2020-09-26 热度:75
我正处于在BeagleBone Black上开发无人机飞行控制器的(非常)早期阶段.我要提到的是,对于BBB,Linux和嵌入式系统,我是一个新手.我的学术重点一直是控制理论 - 这是我在Matlab仿真之外的第一次实际实现.我目前的系统如下:宿主 - 运行Eclipse Luna的Windows 8.1[详细]
-
我如何知道要为我的Linux AMI安装哪个Linux软件包
所属栏目:[Linux] 日期:2020-09-26 热度:99
Ubuntu/Debian Red Hat/Fedora/CentOS Mac OS X openSUSE FreeBSD OpenBSD Gentoo 我有一个本地包装在上述平台上的应用程序,我如何知道在EC2上的Linux AMI上安装哪个应用程序.uname -a displays the following Linux ip-10-315[详细]
-
如何使用LD_PRELOAD检查是否已预加载Linux共享库
所属栏目:[Linux] 日期:2020-09-26 热度:110
我熟悉使用dlopen()检查共享库是否已经使用先前调用dlopen()加载到进程中,如果不存在则不会触发加载,如下所示: void* lib = dlopen(lib_name, RTLD_NOLOAD); if (lib != NULL) { ... } 我最近尝试应用相同的模式来确定是否已使用LD_PRELOAD将少数共享库中的[详细]
-
Linux上的python中的程序间通信
所属栏目:[Linux] 日期:2020-09-26 热度:68
有很多关于如何找到这些东西的例子:1)在同一程序中的不同进程之间进行通信.2)通过网络在客户端/服务器之间进行通信但是,这个问题在我看过的任何地方都没有很好的例子:从python程序A向程序B发送字符串的规范方法是什么,它阻止并处理该字符串,然后在循环中等[详细]
-
Linux内核中的prio,static_prio,rt_priority
所属栏目:[Linux] 日期:2020-09-26 热度:62
task_struct的每个值有什么区别?最佳答案这是关于优先级字段的笔记.我还包括如何通过ps命令显示数据(从/ proc / pid / stat获取数据等).task_struct.prio: 0-99 - Realtime 100-140 - Normal priority ps/stat prio fiel[详细]
-
linux – Loggly不能通过Win上的Winston工作
所属栏目:[Linux] 日期:2020-09-26 热度:136
我使用Raspbian Jessie OS在Raspberry Pi 2上运行了一个物联网项目.它是在NodeJS(v4)中运行的Web服务器,我正在使用Winston登录Loggly的日志记录服务.当项目通过从终端开始的npm(当作为pi或通过sudo -s运行)开始时,一切正常.但是,当项目启动时,日志记录不起作[详细]
-
Linux系统调用,libc,VDSO和实现解析
所属栏目:[Linux] 日期:2020-09-26 热度:143
我在最后一个libc中剖析了syscall调用:git clone git://sourceware.org/git/glibc.git 我在sysdeps / unix / sysv / linux / i386 / sysdep.h中有这个代码:# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr,[详细]
-
linux – GNU Autotools:将二进制文件安装到/ bin,/ sbin,/usr/bin和/usr/sb
所属栏目:[Linux] 日期:2020-09-26 热度:185
大多数使用自动工具的软件包都是用户级实用程序,或者至少足够高,完全在/ usr之下,或者足够低以至于完全低于/ usr.我正在编写一个需要将一些文件安装到/ bin中的软件包,一些安装到/ sbin,/usr/bin和/usr/sbin中.它正在取代传统上放置在这些位置下的几个现有二[详细]
-
如何从库中获取地址信息以在所有进程之间共享?
所属栏目:[Linux] 日期:2020-09-26 热度:59
在了解Linux内核第3版中,它说: Shared libraries are especially convenient on systems that provide file memory mapping, because they reduce the amount of main memory requested for executing a[详细]
-
linux – 防止用户将窗口(xterm,gvim,..)发送到我的VNC显示器
所属栏目:[Linux] 日期:2020-09-26 热度:88
VNC允许任何用户使用命令的-display选项或通过在DISPLAY变量中设置我的VNC显示,将xterm,gvim等窗口发送到任何其他用户的VNC.一些用户利用此功能并继续向我的VNC发送xterms.有什么方法可以完全禁用或选择性地允许其他用户吗?我的观众详情:VNC Viewer 5.2.1 ([详细]
-
linux – 如何在bash脚本中使用’history-c’命令?
所属栏目:[Linux] 日期:2020-09-26 热度:95
众所周知,history命令显示Linux服务器的命令行历史记录,history -c是清除/删除此命令行历史记录的命令.我必须通过我的bash脚本触发此命令.脚本如下,#! /bin/bash var=`history -c` if [ $? -eq 0 ] then echo cleared echo $var fi 输出如下: clear[详细]
-
linux – POSIX AIO库和回调处理程序
所属栏目:[Linux] 日期:2020-09-25 热度:62
根据aio_read / write上的文档,AIO库基本上有两种方式可以通知您的应用程序异步文件I / O操作已完成.要么1)你可以使用信号,2)你可以使用回调函数我认为回调函数比信号更受欢迎,并且可能更容易集成到更高级别的多线程库中.不幸的是,至少可以说这个功能的文档很[详细]
-
如何交叉编译我的Linux应用程序以获取Linux中的Windows可执行文件?
所属栏目:[Linux] 日期:2020-09-25 热度:131
我需要在Linux中交叉编译我的QT应用程序.我从Linux中的QT SDK编译了我的应用程序,它运行正常.如何在Linux中为同一应用程序创建.exe.我在Linux和qmake中安装了Mingw,但我不知道如何继续交叉编译.如何将我的QT与MinGW和Qmake等交叉编译器相关联.我正在使用SuSE[详细]