![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
然而谁也看不穿可达鸭
生而撸代码
展开
-
Linux 标准目录结构
Linux 标准目录结构初学Linux,首先需要弄清Linux 标准目录结构/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件 ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行转载 2015-01-28 09:03:16 · 289 阅读 · 0 评论 -
usb更新文件
一.内核配置,配置使其支持u盘make menu_config Device Drivers ---> [*]USB support --> USB Mass Storage supportu盘底层依赖scsi,所以scsi的配置也要配置好二.设计更新代码我是这么设计的:写个应用程序存放在文件系统的/bin目录下,取名up转载 2016-03-02 11:18:19 · 779 阅读 · 0 评论 -
process,pthread
嵌入式Linux中文站,关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”。这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有那么简单了,选的不好,会让你深受其害。经常在网络上看到有XDJM问“多进程好还是多线程好?”、"Linux下用多进程还是多线程?"等等期望一劳永逸的问题,只能说:没有最好,只有更好,根据实际情况来判转载 2016-01-13 11:10:30 · 302 阅读 · 0 评论 -
关于linux线程
关于linux线程在许多经典的操作系统教科书中, 总是把进程定义为程序的执行实例, 它并不执行什么, 只是维护应用程序所需的各种资源. 而线程则是真正的执行实体. 为了让进程完成一定的工作, 进程必须至少包含一个线程. 如图1.进程所维护的是程序所包含的资源(静态资源), 如: 地址空间, 打开的文件句柄集, 文件系统状态, 信号处理handler, 等;线程所维护的运行相转载 2016-01-13 10:57:31 · 251 阅读 · 0 评论 -
connect
建立socket后默认connect()函数为阻塞连接状态,在大多数实现中,connect的超时时间在75s至几分钟之间,想要缩短超时时间,可解决问题的两种方法:方法一、将socket句柄设置为非阻塞状态,方法二、采用信号处理函数设置阻塞超时控制。在一个TCP套接口被设置为非阻塞之后调用connect,connect会立即返回EINPROGRESS错误,表示连接操作正在进行中,但是仍未完成转载 2016-01-26 18:03:30 · 354 阅读 · 0 评论 -
C程序调用shell脚本共有三种方法
C程序调用shell脚本共有三种方法C程序调用shell脚本共有三种法子 :system()、popen()、exec系列函数call_exec1.c ,内容为:system() 不用你自己去产生进程,它已经封装了,直接加入自己的命令exec 需要你自己 fork 进程,然后exec 自己的命令popen() 也可以实现执行你的命令,比system 开销小1转载 2016-01-05 18:54:38 · 300 阅读 · 0 评论 -
tty
我们经常说的控制台,就是指控制台终端(/dev/ttyn, console,在UNIX系统中计算机显示器就叫做控制台终端)。通常pc,显示器和键盘构成控制台。并且控制台终端与一些设备特殊文件关联:tty0、tty1、tty2。。。ttyn通常情况下/dev/console与tty0关联。 ttyn:ttyn是虚拟终端。有tty1-tty6,通过CTRL+AL转载 2015-12-02 10:56:00 · 375 阅读 · 0 评论 -
linux编程获取ip地址
#include #include #include #include #include #include #include #include #include #include #define ETH_NAME "eth0" int main()转载 2015-11-02 14:45:56 · 245 阅读 · 0 评论 -
-l参数和-L参数
2. -l参数和-L参数-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,转载 2015-10-15 10:35:31 · 6095 阅读 · 1 评论 -
Linux 网络配置
临时更改主机IP地址: 1.动态获取:sudo dhclient 2.静态指定:sudo ifconfig eht0 192.168.1.10永久配置主机: 1.vi /etc/network/interfaces a.动态获取:iface eth0 inet dhcp b.静态指定:iface eth0 inet static address 192.168.1.10原创 2015-09-16 18:40:37 · 239 阅读 · 0 评论 -
liunx使用第三方库
举例,头文件名 abc.h 函数名为 abc_test(); 第三方库头文件目录为/abc/include/ 链接库目录为/abc/lib/1、头文件和源文件:这是最好的情况,引用头文件和相关函数即可。如:#include "abc.h"abc_test();//直接调用即可编译时,Makefile中加入编译选项 -I/abc/include 为了能将库的头文件引进来。而且你的程序运行时转载 2015-09-02 10:55:36 · 325 阅读 · 0 评论 -
U-Boot常用命令
U-Boot常用命令?:得到所有命令列表或者列出某个命令的帮助。用法:? [command ...]说明:列出命令的帮助信息,当不带参数时,列出所有命令及简要说明。help:同?printenv:打印环境变量。用法:printenv [name]说明:name一般是Hiboot环境变量的名字,也可以是用户自定义的变量;当value为空时,删除变量转载 2015-05-28 01:03:28 · 276 阅读 · 0 评论 -
vi三种工作模式
Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式。他们的相互关系如所示。指令模式(Command Mode) 下输入 a、i、o进入文本输入模式(Input Mode)文本输入模式(Input Mode) 下按ESC进入指令模式(Command Mode)指令模式(Command Mode)下输入:进入末行模式(Last line Mode)末行模式(Last line M转载 2015-01-28 22:41:04 · 2571 阅读 · 0 评论 -
./configure,make,make install
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。转载 2016-02-23 11:32:11 · 234 阅读 · 0 评论