
linux
sunxiaopengsun
这个作者很懒,什么都没留下…
展开
-
patch补丁文件格式
linux补丁文件格式“补丁” 指的是文件之间一系列差异。在原始文件的基础上进行修改后,然后根据所做的修改生成补丁文件(使用diff命令)。一个持有原始文件的人,将该补丁打到原始文件上(使用patch命令),就变成了修改后的文件。1. 创建两个实验文件原文件:1.txtthis is a testfor patch file formatso let us go!修改后的文件:2.txtthis is a testfor linux patch file format原创 2021-02-24 17:54:22 · 1537 阅读 · 0 评论 -
彻底搞懂零拷贝Zero-Copy技术
https://jishuin.proginn.com/p/763bfbd31acf转载 2021-01-17 09:16:09 · 691 阅读 · 0 评论 -
linux内存映射mmap原理分析
http://blog.csdn.net/yusiguyuan/article/details/23388771转载 2020-12-07 15:56:26 · 133 阅读 · 0 评论 -
tftpd32服务器软件在Windows与linux 下的文件传输
tftpd32是一个很方便的传输文件的服务器端软件,下面介绍这款软件的使用:以上是我的tftpd32中文版软件界面;设置到服务器界面;使用一:可以通过tftpd32,进行Windows与虚拟机中的Linux进行文件传输:1.开启windows7(作者用的win7)开启tftp服务,步骤:点击win7左下角的开始按钮,点击上面的控制面板,进入程序原创 2018-01-09 11:33:25 · 3243 阅读 · 0 评论 -
虚拟机上ubuntu10.04上网设置
今天捣鼓了几个小时,想在虚拟机安装的Ubuntu上网,参考网上很多设置方法都没成功,最后问题解决,现做下笔记,以备以后查看。主机是通过拨号上网的,虚拟机ubuntu上网的设置步骤如下:1.配置虚拟机的网卡为NAT模式,设置如下2.配置虚拟网卡VMnet8,设置为自动获取IP地址和DNS服务器地址,如下3.开启windows系统的服务里的VMDHCP和原创 2018-01-09 17:34:01 · 653 阅读 · 0 评论 -
Linux errno详解
1. 错误码 / errnoLinux中系统调用的错误都存储于 errno中,errno由操作系统维护,存储就近发生的错误,即下一次的错误码会覆盖掉上一次的错误。PS: 只有当系统调用或者调用lib函数时出错,才会置位errno!查看系统中所有的errno所代表的含义,可以采用如下的代码:/* Function: obtain the errno string*原创 2018-01-26 09:57:05 · 3535 阅读 · 0 评论 -
linux网络编程 send或者write socket遭遇SIGPIPE,分析及解决
最近在编写C/S(客户端/服务器)程序,问题:当服务端断开连接时,客户端也随之关闭。使用gdb调试信息如下:Program received signal SIGPIPE, Broken pipe.0x0012e416 in __kernel_vsyscall ()分析原因:当服务端close一个连接时,如果客户端继续使用send或write发送数据,根据TCP协议的规定,原创 2018-01-26 11:55:23 · 801 阅读 · 0 评论 -
linux下C++ 插件(plugin)实现技术
源地址 : http://masterdog.blogchina.com/634683.html应用程序中使用插件技术,有利于日后的版本更新、维护(比如打补丁)和功能扩展,是一种很实用的技术。其最大的特点是更新插件时无需重新编译主程序,对于一个设计良好的应用系统而言,甚至可以做到业务功能的在线升级。本文介绍了linux下用C++实现插件的一个简单实例,希望能对大家有所启发。为了能做转载 2018-01-29 11:42:08 · 2402 阅读 · 2 评论 -
Linux下用ifconfig命令设置IP、掩码、网关
设置IP和掩码ifconfig eth0 192.168.5.40 netmask 255.255.255.0设置网关route add default gw 192.168.5.1ifconfig eth0 10.0.192.79 netmask 255.255.254.0route add default gw 10.0.193.254原创 2018-02-08 15:46:26 · 4228 阅读 · 0 评论 -
嵌入式开发板设置IP
在嵌入式开发板联调测试时,通常都通过NFS挂载远程的主机下的一个目录,然后远程调试;通常开发板都没设置固定的IP,因此需要手动将IP地址手动设置为主机同一个网段下: ifconfig eth0 192.168.1.xxx;但开发板重启后,IP即丢失;为设置掉电保存的IP,一般均为修改开发板根文件系统下的一些配置文件,例如:在 /etc/init.d/rcS 中增加: ifconfig eth0 ...原创 2018-02-08 15:36:19 · 4418 阅读 · 3 评论 -
烧写程序(下载程序)基础知识
简单整理下固件、烧写的定义以及烧写过程的几种方式。一、什么是烧写(下载)和固件嵌入式系统需要预先将程序写入ROM/FLASH中,在启动时载入运行这些程序,将已经生成的程序写入ROM/FLASH的过程叫做烧写。这样固化在存储介质上的文件叫固件(firmware)。那么烧写即为更新固件的过程。二、常用的几种烧写方式把系统当做一个存储区域进行烧写;采用专门接口及专用的下载线将程序烧写到固件中。这时CPU...原创 2018-03-05 16:44:36 · 1491 阅读 · 0 评论 -
linux c开发: 在程序退出时进行处理
有时候,希望程序退出时能进行一些处理,比如保存状态,释放一些资源。c语言开发的linux程序,有可能正常退出(exit),有可能异常crash,而异常crash可能是响应了某信号的默认处理。这里总结一下这些情况,如何获取一个统一的退出处理的点,说白了就是写一个回调函数,让他在程序正常或异常退出时调用。先看正常退出,即调用exit或者main函数return亦或最后一个线程正常退出时,如何捕获退...原创 2019-04-24 09:40:19 · 302 阅读 · 0 评论 -
Linux和Windows共享文件的三种方法
第一种 samba共享1、安装samba:可以先检查下是否已经安装:rpm -qa | grep samba,没有的话自己安装下,这里介绍下基于RPM包的一种在线安装模式yum yum是一种快速安装模式,它会自动解决软件安装时的依赖问题并自动去特定的服务器下载相应的软件进行安装,安装命令:yum install samba2、创建共享文件夹 mkdir -m 777 /home/d原创 2018-02-01 14:35:06 · 7111 阅读 · 0 评论 -
SSH Client连接Ubuntu Server失败解法
转载地址:https://segmentfault.com/a/1190000005709819通过虚拟机安装完ubuntu-15.04-server-amd64之后我做了一些设置(清屏快捷键:Ctrl + L)为root用户设置密码sudo passwd root系统会提示先输入当前用户的密码进行验证,然后会为root用户输入两次新密码进行密码设置。设置成功会提示“p原创 2018-01-08 12:21:26 · 465 阅读 · 0 评论 -
Win7 U盘安装Ubuntu16.04
制作U盘启动器 百度下载ultraISO软件安装并打开 1. 2. 3. 4.开始写入—》直到完成大概五分的样子 您在什么地方,选择时区,这里选择 shanghai键盘布局 :用户名linuxidc等待安装完成重启Ubuntu开始尽情享受U原创 2017-07-08 07:48:12 · 1735 阅读 · 0 评论 -
apt-get常用命令
一,什么的是apt-get高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统上管理软件的过程,apt-get命令一般需要root权限执行,所以一般跟着sudo命令。二,apt-get中文参数用法:ap转载 2017-07-08 09:17:05 · 250 阅读 · 0 评论 -
linux几种时间函数总结
一、linux时间函数总结 最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个: asctime, ctime, gmtime, localtime, gettimeofday , mktime, asctime_r, ctime_r, gmtime_r, localtime_r二、常用的结构体原创 2017-11-03 14:13:03 · 263 阅读 · 0 评论 -
Linux查看程序端口占用情况
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有8080端口的Tomcat进程。使用命令:netstat –apn查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进原创 2018-01-22 18:34:25 · 196 阅读 · 0 评论 -
Linux 查看.so中导出函数
方法一nm -D **.so但这样能看到所有的导出,乱七八糟的很多,筛选用:nm **.so | grep XX 方法二objdump -tT **.so原创 2018-01-23 17:49:15 · 857 阅读 · 0 评论 -
查看一个可执行文件或者库的依赖库
经常需要查看一个可执行文件或者库依赖那些库文件。通常情况下这很好办,使用ldd命令就可以了,比如:123456$ ldd /bin/bash linux-vdso.so.1 => (0x00007ffd8ffef000) libtinfo.so.5 => /lib/x86_64-linux原创 2018-01-23 18:00:37 · 1077 阅读 · 0 评论 -
Linux下gcc编译生成动态链接库*.so文件并调用它
动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件原创 2018-01-23 18:03:33 · 601 阅读 · 0 评论 -
error while loading shared libraries错误解决
出错如下:主要错误:error while loading shared libraries: libboost_regex.so.1.51.0: cannot open shared object file: No such file or directory错误过程如下:[cpp] view plain copy[ro原创 2018-01-23 18:18:06 · 2292 阅读 · 0 评论 -
linux下使用C++ Json库
安装Json库1、下载JsonCpphttp://sourceforge.net/projects/jsoncpp/files/2、下载sconshttp://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download3、解压scons-2.1.0.tar.gz原创 2018-01-24 10:25:58 · 231 阅读 · 0 评论 -
jsoncpp linux平台编译和 arm移植
jsoncppsoncpp is an implementation of a JSON (http://json.org ) reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to rea原创 2018-01-24 10:26:51 · 965 阅读 · 0 评论 -
vim字符串替换命令
呜呜老是忘。 这里记录一下,只记录其中日常用的最多的命令。:%s/str1/str2/g 替换每一行中所有str1为str2 常用!:s/str1/str2/g 替换当前行所有str1为str2原创 2018-01-24 11:12:56 · 247 阅读 · 0 评论 -
linux下的RPM文件
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合:-ivh:安装显示安装进度--install--verbos原创 2017-06-17 12:36:30 · 1755 阅读 · 0 评论