- 博客(54)
- 资源 (19)
- 收藏
- 关注
转载 C语言中可变参数函数实现原理
C函数调用的栈结构可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈。例如,对于函数: void fun(int a, int b, int c) { int d; ... }其栈结构为 0x1ffc-->d 0x2000-->a 0x2004-->b 0x2008-->c对于在32位系统...
2020-08-10 15:54:55
370
转载 Linux如何解决动态库的版本控制
(换句话说,soname不是真实存在的文件,只是在此库中和将来调用此库的文件中保存的一个名字,在加载时去找这个名字,使用时创建一个软连接来指向真实文件,这样真实文件的版本号就可以升级了)Linux 系统,也同样面临和Window一样的问题,如何控制动态库的多个版本问题。Window之前没有处理好,为此专门有个名词来形容这个问题 “Dll hell”,其严重影响软件的升级和维护。 Dll hell 是指windows 上动态库新版本覆盖旧版本,但是却不兼容老版本。常常发生在程序升级之后,动态库更新,原
2020-08-03 15:58:58
625
转载 Ubuntu apt-get 和 pip 更换源
Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候网速比较慢。一个软件的下载是十分痛苦的,这里讲解一下如何将国外源更换为国内源,让你的网速Biu.Biu.Biu。更换apt-get数据源1.备份原先的源sudo cp /etc/apt/sources.list /etc/apt/sources.list.back_20181007将以前的源备份一下,以防以后可以用的。2.更换源sudo gedit /etc/apt/sources.list使用gedit打开文档,将下.
2020-06-17 16:30:34
909
转载 ubuntu18.04开机启动任务管理
方法一、启动应用程序工具(Startup Applications)ubuntu下的启动项界面管理工具,在终端输入“gnome-session-properties”打开工具,勾选/取消程序项来设置是否开机启动。启动应用程序设置延迟启动点击编辑,在命令(M)内容前加上“sleep 120;”来设置延迟120秒启动。设置启动延迟新增启动项点击添加,输入新增启动项的名称,启动命令和相关的描述。其中命令最为重要,你可以使用任何你想用的名称和描述。新增启...
2020-06-16 11:46:58
3140
转载 使用ssh的scp命令上传下载文件/目录到远程服务器
上传本地文件到服务器:命令:scp /path/filename username@servername:/path/比如下面我要传输/h目录下的crawler.jar文件到远程服务器root...(服务器地址省略)的根目录上,就是如下语句:这是上传成功之后的样子:进入服务器可以看到:下面上传目录和下载,不一一演示:从服务器上下载文件下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?scp username@servername:/path/fi
2020-06-16 10:57:38
1848
原创 Ubuntu配置Xmanager服务实现远程桌面
Xmanager默认使用XDMCP协议连接远程桌面, 因此这里我们需要启用XDMCP协议.1、安装 xubuntu-desktop 桌面环境(1) 安装软件 $ sudo apt-get update $ sudo apt-get install xubuntu-desktop(2) 重启XDMCP 后台程序,应用桌面环境 16.0以上系统使用systemd配置:启动运行:root #systemctl enable lightdm··· 现在启动···r
2020-06-16 10:55:22
7790
转载 类SHELL UI界面C语言实现
一个在终端实现类Linux shell(cd ls命令)UI界面的功能(C语言实现)这2天做了一个类似Linux shell的UI界面,目前已初步完成cd, ls, help, pwd, quit等命令,在Linux下实现,效果图见下图:ls命令:开始及help命令:对于完成此UI界面来说,最主要是根据输入的命令找到相关的命令处理函数。通过参考部分bash的实现,找到了如下方法:...
2020-04-02 16:14:00
1506
转载 ffmpeg移植
编译环境:ubuntu12.04交叉编译器:arm-none-linux-gnueabi-gcc 4.4.1目标板:iTOP4412 (cortex A9)ffmpeg库的移植主要包括: 1.yasm移植(可选,yasm是汇编编译器,ffmpeg加入它是为了提高编译速度,可在x264配置时使用--disable-asm选择不使用) 2.x264移植...
2020-01-15 10:10:00
844
转载 linux设备驱动模型
1.linux设备驱动模型简介1.1、什么是设备驱动模型(1)类class、总线bus、设备device、驱动driver(2)kobject和对象生命周期(3)sysfs(4)udev1.2、为什么需要设备驱动模型(1)早期内核(2.4之前)没有统一的设备驱动模型,但照样可以用(2)2.6版本中正式引入设备驱动模型,目的是在设备越来越多,功耗要求等新特性要求的情况下让驱动体系...
2019-11-22 17:29:26
267
转载 arm上使用tcpdump抓包
在实际应用中开发中,嵌入式设备使用网络通信时,经常不好分析数据,通常只能使用串口打印和依耐服务器端使用抓包工具获取网络数据,使开发工作有不同程度的受到阻碍,这里简单的介绍一下如何使用tcpdump工具在嵌入式设备上抓包。移植:下载资源tcpdump,libpcap,可到官网上:http://www.tcpdump.org/ 下载,我这里下载的版本如下:tcpdump-4.7.4.tar...
2019-09-26 16:37:11
4119
转载 防火墙之数据包过滤iptables
内容简介防火墙的概述1、iptables简介2、iptables基础3、iptables语法4、iptables实例案例详解(一)防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或...
2019-09-23 16:00:03
9369
转载 ARM根文件系统添加用户登录功能
1:再启动文件系统的时候为什么没有出现用户登入界面在文件/etc/inittab中,::respawn:-/bin/sh被执行时,直接进入了命令行,因此不会显示用户登入界面,因此添加用户登入界面需要在这里做文章。2:busybox如何实现用户登入我们知道busybox是很多可执行程序的集合,busybox中也集成了用户登入的命令,分别是/bin/login和/sbin/gettt...
2019-07-11 11:35:28
989
转载 SSH arm移植(实现远程登录开发板)
移植ssh到开发板主要是将开发板当成服务器,电脑端可以作为客户端进行访问,从而实现通过网线就可以进行文件的传输以及控制台控制。移植ssh主要包含三大部分:1. zlib的移植; 2. openssl的移植; 3. openssh的移植因此需要下载对应的源代码才能进行交叉编译。zlib官网:http://www.zlib.net/fossils/openssl官网:https://www.o...
2019-07-09 16:38:04
6205
转载 移植uboot-设置默认环境变量,裁剪,并分区
在上一章使uboot支持网卡传输文件后,但是每次启机时,环境变量都要变为默认值,需要重新设置ip,MAC地址才行,由于没有配置mtdparts命令,启动内核也不成功所以本章主要学习:1)修改环境变量默认值 2)裁剪uboot 3)分区,设置mtdparts命令1.修改之前,先来理解下uboot的环境参数首先,uboot会去校验(CRC)存放环境变量的一段空间 ,若CRC有效则...
2019-07-05 10:49:53
1157
转载 Windows下OpenSSL的安装
安装环境:操作系统:window7(64位)C++编译器:VS2010---------------------------------------------------------------------------------------------------------------------------------------------------------
2017-08-09 22:08:06
1049
转载 mtd-utils工具的使用
在ubuntu 10.04上交叉编译编译 mtd-utils =====================================================================================在写文章之前, 大概有两天时间在找mtd-utils的交叉编译资料, 经常找到的都是过时的, 或者版本很低, 或者需要改一堆的Makefile, 能不能
2017-07-22 10:03:07
7248
转载 android4.0.3添加 Ethernet框架支持
一、移植framework部分(+号的行代表增加的内容,-号的行代表删除的内容) 从4.0.3 master分支移植到4.0.3_r11.1.将源路径framework/base/ethernet 复制到目标路径的framework/base/目录下 1.2.修改目标路径的framework/base目录下的Android.mk vpn/java/andro
2016-08-12 18:01:28
421
原创 安卓ADB环境搭建
1、安装安卓设备驱动(此处略)。当进入操作系统的设备管理器中出现如下设备时表示驱动安装成功2、下载附件文件并解压。进入platform-tools目录双击cmd.exe文件进入系统命令行界面。双击adb.exe文件启动adb进程。这时我们开始系统命令行中查找adb设备,输入以下命令:adb devices当查找设备成功后系统会输出以下信息当出现如下信息时此时我们需要
2016-08-09 17:34:23
809
转载 搭建最新版本的Android开发环境
最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1,学习Android开发的第一步就是搭建Android的开发环境,博客园里面有不少人也写了关于如何搭建Android开
2016-07-30 00:02:24
6266
转载 web服务器之mongoose:简介
引言在深入Mongoose源码剖析之前,我们应该清楚web服务器是什么?它提供什么服务?怎样提供服务?使用了什么协议?客户端如何唯一标识web服务器的资源?下面我们就抛开Mongoose,来介绍一个web服务的这些通性。web服务器:指驻留于因特网上某种类型计算机的程序(web服务器是什么)。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏...
2016-06-13 18:28:40
4015
转载 web服务器之mongoose:核心处理模块
引言前面我们介绍了Mongoose所有的几个主要的数据结构mg_context、mg_connection、mg_request_info,还有Mongoose的生命主线。有了这些基础就可以来看看Mongoose的核心处理工作是怎样的。本文从下面几个方面去介绍Mongoose的核心处理模块,连接建立之后的:请求解析 请求验证 请求满足1、连接的建立...
2016-06-13 18:25:32
2248
1
转载 web服务器之mongoose:工作模型
引言我看一个项目的时候,比较喜欢首先看它的架构和设计。因为这样在研读源码的时候,有一个指导作用,不会迷失于具体细节,并能够引导我如何去将点串成线,将线串成面。而且一个软件怎么样,很大程度上取决于它采用的架构。本文主要介绍Mongoose的工作模型,及根据这个模型将代码大致串起来,找出主线。内容框架如下:1、线程模型2、从程序入口着手3、Mongoose的生命旅...
2016-06-13 18:24:04
2777
转载 web服务器之mongoose:数据结构
Mongoose中有几个数据结构扮演着重要的角色,它们分别是:struct mg_context:保存Mongoose的上下文,几乎每个函数都有mg_context参数struct mg_connection:保存HTPP连接信息struct mg_request_info:保存HTTP请求的信息,这个结构体传递给URL处理函数我之所以现在这里介绍它,因为之后的分析工作中要用...
2016-06-13 18:22:40
1714
转载 web服务器之mongoose:安装
引言Mongoose开源项目的主页是http://code.google.com/p/mongoose/。Mongoose是一个web服务器,通过提供一个web接口给它,它可以嵌入到现有的应用程序中去。Mongoose web服务器的执行是自满足的,它不依赖于任何其他服务。如果你将它复制到任何目录并执行,它将将启动web服务并将当前目录作为主目录、端口号是8080。当然这些配置选项都可以...
2016-06-13 17:56:50
7173
1
转载 Makefile编译选项
-D:条件选择编译-I :头文件搜索路径-l:连接静态库 AR静态库打包命令的名字,缺省值是ar。ARFLAGS静态库打包命令的选项,缺省值是rv。AS汇编器的名字,缺省值是as。ASFLAGS汇编器的选项,没有定义。CCC编译器的名字,缺省值是cc。CFLAGSC编译器的选项,没有定义。
2016-06-13 16:26:14
3094
转载 Perl中文件读取操作
一、打开、关闭文件二、读文件三、写文件四、判断文件状态五、命令行参数六、打开管道一、打开、关闭文件 语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号,filename为文件名,其路径可为相对路径,亦可为绝对路径。 open(FILE1,"file1"); open(F
2016-05-26 12:34:40
21049
转载 开发板上syslog使用方法小结
1.在/etc/syslog.conf下加入一行localN.* pathname 例 local5.* /root/Desktop/test.log2.重新启动syslog /etc/init.d/syslog restart3.使用syslog实例#include#include#include #define SYSNAME "wohaw
2016-05-25 11:27:53
10677
1
转载 syslog-ng详细安装配置
[root@server2 software]# wget -d -r -np http://www.frasunek.com/sources/security/sqlsyslogd/[root@server2 software]# cd www.frasunek.com/sources/security/sqlsyslogd/[root@server2 sqlsyslogd]# rm -
2016-05-25 11:26:21
4426
转载 Busybox下init详解
文章转载自:http://blog.donews.com/mutecat/archive/2006/02/18/731500.aspx的一部分,全文内容请看原文。 5.5.3 busybox的init 除了基本的命令之外,BusyBox还支持init功能,如同其它的init一样,busybox的init也是完成系统的初始化工作,关机前的工作等等,我们知道在Linux的内核被载入之
2016-05-11 10:56:39
4372
转载 SQLite3嵌入式数据库arm+linux移植
SQLite数据库介绍SQLite数据库是一种嵌入式数据库,他的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现对于数据库而言的必备的功能。尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色,它具有这样一些特性:支持ACID事务(ACID是Automic、Consisten、Isolated和Durable的缩写)零配置,不需要
2016-05-10 17:58:07
4844
转载 linux创建静态库ar命令的使用说明
linux ar 命令的使用说明:用途说明 创建静态库.a文件。《关于Linux静态库和动态库的分析》。 格式:ar rcs libxxx.a xx1.o xx2.oLinux ar命令参数: 指令参数 -d 删除静态库中的成员文件。 -m 变更成员文件在静态库中的次序。 -p 显示静态库中的成员文件内容。
2016-05-04 15:07:38
2584
转载 电容在电源中的作用
作为无源元件之一的电容,其作用不外乎以下几种:1、应用于电源电路,实现旁路、去藕、滤波和储能方面电容的作用,下面分类详述之:1) 滤波滤波是电容的作用中很重要的一部分。几乎所有的电源电路中都会用到。从理论上(即假设电容为纯电容)说,电容越大,阻抗越小,通过的频率也越高。但实际上超过1uF的电容大多为电解电容,有很大的电感成份, 所以频率高后反而阻抗会增大。有时会看到有一个电
2016-04-29 11:15:18
4915
1
转载 Shell编程基础
写之前我们先来搞清楚为什么要学shell,学习要有目的性shell简单、灵活、高效,特别适合处理一些系统管理方面的小问题shell可以实现自动化管理,让系统管理员的工作变得容易、简单、高效shell脚本可移植性好,在unix/linux系统中可灵活移植,几乎不用任何设置就能正常运行shell脚本可轻松方便读取和修改源代码,不需要编译掌握shell可以帮你解决一些故障问题,比如脚
2016-04-29 10:24:46
239
转载 Makefile详解
跟我一起写 Makefile陈皓 (优快云)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在U
2016-04-29 10:16:50
880
转载 linux下库文件编译实践
linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,主要记录了一些配置信息。 1.创建静态.o库文件和.a库文件[root@lo
2016-04-29 09:53:46
355
转载 Linux下创建库函数
1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)和动态加载函
2016-04-29 09:50:35
441
转载 Linux进程间通信(消息队列)
消息可以理解为写信给某个人,这里在应用中是告诉系统写信人和写信的内容就可以了,别人会来看发信人是谁,如果不是自己想要的就放弃读信或者只要有消息自己就读取消息消息队列就是按队列的方式处理很多消息,先发的最先被读消息队列:http://www.2cto.com/os/201205/129794.htmlhttp://home.lupaworld.co
2016-04-25 17:53:49
586
转载 制作一个linux的CLI(command line interface)
#include #include #include #include #include #include #include /* The maximum number of command's args */#define MAX_ARGVS 16/* The maximum size of command */#define MAX_CMD_SIZE 5
2016-04-25 12:46:08
1627
转载 Linux下Socket编程函数格式详解
LINUX下Socket编程 函数格式详解你需要了解的一些系统调用:socket()bind()connect()listen()accept()send()recv()sendto()recvfrom()close()shutdown()setsockopt()getsockopt()getpeername()getsock
2016-03-24 14:49:26
743
转载 termios详解
一、数据成员termios 函数族提供了一个常规的终端接口,用于控制非同步通信端口。 这个结构包含了至少下列成员: tcflag_t c_iflag; /* 输入模式 */tcflag_t c_oflag; /* 输出模式 */tcflag_t c_cflag; /* 控制模式 */tcflag_t c_lflag; /* 本地模
2016-03-07 09:43:34
963
x264-master.tar.bz2
2020-01-20
ffmpeg-3.2.14.tar.bz2
2020-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人