Linux
蹦蹦跳跳小米粒
努力奋斗的游戏coder
展开
-
Linux系统模块解析
Linux系统可以划分为4个部分:1. Linux内核2. GNU工具3. 图形化桌面环境4. 应用软件内核负责的功能:系统内存管理、软件程序管理、硬件设备管理、文件系统管理内存管理:Linux内核不仅可以管理物理内存,也可以创建和管理虚拟内存。虚拟内存:即实际上不存在的内存。通过硬盘的存储空间来解决物理内存不够用的问题,这一块硬盘空间被称为交换空间。内核可以不...原创 2019-11-10 17:58:32 · 371 阅读 · 0 评论 -
Socket编程bind错误码98 EADDRINUSE 处理方法
出现这样的错误可能有两个原因,第一是因为当前主机已经有服务器进程在调用bind和listen在监听我们的目标端口,如果我们在这时再次调用bind函数进行绑定的话,则会产生系统调用错误。第二个原因可能是因为我们所需要bind的目标端口是本机socket已经连接的端口。解决方法:设置套接字SO_REUSEADDR,所有的TCP服务器都应当指定该选项。指定方法: int flag = 1;...原创 2019-10-10 14:59:45 · 8827 阅读 · 0 评论 -
Linux使用python编程遇到_ZN问题解决方案
有时候我们在使用python编程的时候可能会遇到_ZN的运行错误,这时我们首先可以使用c++filt "_ZN***************"来进行一次诊断,这一行命令可以输出出问题的函数,之后我们可以使用命令cp $(find ./xxxxx/ -name "*.o") ./*** 来检测.o文件中是否包含了对应的cpp内容,看是否是缺少链接所致。...原创 2019-08-08 16:50:14 · 916 阅读 · 0 评论 -
Swig C++转python报错ImportError: dynamic module does not define module export function
解决办法:导出的.so文件命名需要开头为下划线_原创 2019-07-23 11:41:53 · 2204 阅读 · 1 评论 -
Linux下.a文件的合并
涉及到命令工具:ar,tranlib.a文件的结构和.tar文件就没有什么区别。x命令解出来,a命令添加,t命令列表假设A.a,B.aC.a在/usr/local/lib目录下mkdir/tmp/libABCcd/tmp/libABCarx/usr/local/lib/A.aarx/usr/local/lib/B.aarx/usr/local/li...转载 2019-07-23 11:15:48 · 1176 阅读 · 0 评论 -
终端的rz命令,覆盖原文件。
rz -y原创 2019-07-23 11:14:38 · 9831 阅读 · 4 评论 -
将Linux下python默认版本切换
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件。你可以按照以下方法使用ls命令来查看你的系统中都有那些 Python 的二进制文件可供使用。$ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2....转载 2019-07-23 10:14:37 · 1706 阅读 · 0 评论 -
Linux系统下使用swig进行C++转python报错syntax error unexpected token‘*’
解决方法:使用指令vi -b xxxxx打开报错的文件,发现在第一行有奇怪的字符将前边的字符删除掉即可。原创 2019-07-21 14:10:00 · 397 阅读 · 0 评论 -
在linux机器下使用swig将大型C++项目转python方法全流程
近期在公司做了使用swig将C++转为python可调用接口,项目规模较大,中间遇到了很多坑,也走了很多弯路,今天在这里记录一下,以供今后查阅。首先,我们使用swig命令生成xxx_wrap.cxx文件,该过程比较简单,命令为swig -c++ -python -o xxxx_wrap.cxx xxxx.i在执行了这一命令后,我们可以得到两个文件,分别为xxxx.py和xxxx_wr...原创 2019-07-24 15:52:45 · 800 阅读 · 0 评论 -
linux 下的 .a 文件 .o 文件 是什么文件?各有什么作用?
.o 就是object, 也就相当于windows下编译的obj文件, 俗称目标文件..a 就是archive, 也就相当于windows的VC下编译的lib文件, 俗称静态库文件..o文件是链接文件,.a是静态库文件,靠.o文件生成,作为一个库为外部程序提供函数,接口。生成.o文件:gcc -c test.o test.c生成.a文件:ar cqs test.a test...转载 2019-07-19 12:47:06 · 51978 阅读 · 0 评论 -
Linux系统下使用SWIG编译方法
首先需要创建需要的.i文件,可以参考网上的其他教程,在此不再赘述。命令swig -c++ -python -o xxx_wrap.cxx xxx.i 使用.i文件生成.cxx文件与.py文件为了编译生成可用的.so文件,我们需要xxx.cpp的xxx.o文件与xxx_wrap.cxx的xxx_wrap.o文件,使用命令:g++-fPIC -I ./ -c xxx.cppg++...原创 2019-07-19 11:43:46 · 1048 阅读 · 0 评论 -
Linux CentOS下安装SWIG方法
1、官网下载swig-4.0.0.tar.gz;2、解压到指定目录;3、进入解压后的目录,依次运行指令:bash ./configure --prefix=/usr/local/swig-4.0.0 --without-pcre【即不需要安装pcre依赖】make && make install4、配置环境变量:export PATH=$ANT_HOME/b...原创 2019-07-18 17:35:36 · 3399 阅读 · 1 评论 -
如何在Linux上远程编写并编译运行C程序
我们在成功连接到linux机器后,首先创建一个.c文件,使用vi命令:vi test.c创建成功后,我们在文件中编写自己的c程序:#include<stdio.h>int main(){printf("Hello Linux, I am C!");return 0;}使用命令查看当前文件夹下的文件:下面对程序进行编译链接;gcc test....原创 2019-07-18 15:01:47 · 1883 阅读 · 0 评论