- 博客(64)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 Linux文件系统及属性
Linux文件系统及属性宗旨:技术的学习是有限的,分享的精神的无限的。一、Linux系统下文件类型及属性1、inode结构/*索引节点对象由inode结构体表示,定义文件在linux/fs.h中*/struct inode{ struct hlist_node i_hash; /* 哈希表 */ struct l
2016-03-30 08:44:21 908
原创 ext2文件系统
ext2文件系统宗旨:技术的学习是有限的,分享的精神的无限的。一、总体存储布局 一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格 式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的 信息。 文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时
2016-03-30 08:43:15 1315
原创 文件流、目录流、文件描述符总结
文件流、目录流、文件描述符总结宗旨:技术的学习是有限的,分享的精神的无限的。 内核为使当前进程与进程打开的文件建立联系,在进程PCB(一个结构体task_struct)中使用一个成员来指向关于打开文件列表的结构体struct file_struct,而该结构体中的struct file *fd_array[]是一个指针数组,指向每个打开的文件信息。内核将这
2016-03-29 15:22:07 2613
原创 Linux C高级编程——目录操作
Linux C目录操作宗旨:技术的学习是有限的,分享的精神是无限的。 Linux思想“一切皆文件”,目录也是文件,只是存储的内容有别于普通文件。目录文件中存储的该目录下所有的文件及子目录文件的信息,inode节点。一、打开/关闭目录文件1、 opendir——打开目录(1)函数原型#include <dirent.h>...
2016-03-29 08:49:16 1388
原创 fprintf/fscanf函数分析
fprintf/fscanf函数分析宗旨:技术的学习是有限的,分享的精神的无限的。fprintf/fscanf函数与printf/scanf区别:printf/scanf专门针对标准输入输出流,fprintf/fscanf函数可用于任意流,包括输入输出流。1、fprintf——将输出按指定格式放置在指定的输出流上。(1)函数原型int fprintf(F
2016-03-29 08:48:31 839
原创 Linux C高级编程——文件操作之库函数
Linux c高级编程——文件操作之库函数宗旨:技术的学习是有限的,分享的精神的无限的——为什么要设计标准I/O库?直接使用API进行文件访问时,需要考虑许多细节问题例如:read、write时,缓冲区的大小该如何确定,才能使效率最优标准I/O库封装了诸多细节问题,包括缓冲区分配 ——标准I/O库缓冲标准I/O库提供缓冲的目的:尽可能减少使用re
2016-03-28 14:05:27 1585
原创 Linux C高级编程——文件操作之系统调用
Linux C高级编程文件操作之系统调用宗旨:技术的学习是有限的,分享的精神的无限的! 库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准。使用库函数编写的函数一般可以应用于不同的平台而不需要做任何修改,具有很好的可移植性。 系统调用函数与操作系统直接相关,不同的操作系统所使用的系统调用可能不太一样,因此,
2016-03-28 09:09:46 4074
原创 main函数
main函数宗旨:技术的学习是有限的,分享的精神的无限的。Linux下运行的程序多数是带参数的,例如ls –l等。一般来说,所有程序代码都是从main函数开始执行的。main函数(1)函数原型int main(int argc, char*argv[]); //main可以带参数并在程序中直接使用。(2)函数参数argc:命令行参数的个数(包含命令本
2016-03-28 09:07:18 613
原创 Linux C目标文件
LinuxC目标文件宗旨:技术的学习是有限的,分享的精神的无限的。一、目标文件格式(ELF格式)编译器编译源代码后生成的文件叫做目标文件。目标文件是已经编译后的可执行文件,只是还没有经过链接的过程。PC平台流行的可执行文件格式:windows下的PE和Linux下的ELF。动态链接库和静态链接库也是按照可执行文件存储的。1、ELF文件归于4类:
2016-03-27 15:12:41 1612 4
原创 状态机——protothreads
状态机——Protothreads一、prothreads的优缺点优点: 1. 以纯C语言实现,无硬件依靠性;因此不存在移植的困难。 2. 极少的资源需求,每个Protothread仅需要2个额外的字节;3. 支持阻塞操纵且没有栈的切换。缺点: 1. 函数中不具备可重入型,不能使用局部变量; 2. 按顺序判断各任务条件是否满足,因此无优先级抢
2016-03-27 13:14:04 4972
原创 C语言——可变参数
C语言——可变参数宗旨:技术的学习是有限的,分享的精神的无限的。1、目前为止,见过比较熟悉的可变参数的函数就是printf()函数int printf(const char *format, …); 2、可变参数宏void va_start(va_list arg_ptr, prev_param);type va_arg(va_list arg_ptr
2016-03-26 12:39:40 1315
原创 C语言——回调函数
C语言——回调函数 如果参数是一个函数指针,调用者可以传递一个函数的地址给实现者,让实现者去调用它,这就是回调函数。void func(void (*f)(void*), void *p)提供一个回调函数,再提供一个准备传给回调函数的参数;把回调函数传给参数f,把准备传给回调函数的参数按void *类型传给参数p。在适当的时候根据调用者传来的函数指针f调用回调函数,即调
2016-03-26 12:38:27 1749
原创 内存管理函数
内存管理函数一、 动态申请内存1、 malloc/free——动态分配内存和释放内存(1)函数原型void *malloc(size_tsize);void free(void *str);(2)函数参数 size:要分配的空间大小(3)返回值 返回一个指向分配的连续存储域首地址的指针。失败返回NULL。
2016-03-25 12:01:02 722
原创 Linux开发初步
Linux开发初步宗旨:技术的学习是有限的,分享的精神的无限的。一、库函数与系统调用1、系统调用函数和库函数库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准。使用库函数编写的函数一般可以应用于不同的平台而不需要做任何修改,具有很好的可移植性。系统调用函数与操作系统直接相关,不同的操作系统所使用的系统调用可能不太一样,因此,如果两个
2016-03-25 11:49:26 579
原创 Linux C标准
Linux下C标准1、ANSI CANSI C的目标是为各种操作系统上的C程序提供可移植性保证(如Linux与windows之间)。ISO C标准定义的头文件验证程序断言信号支持复数算法可变参数表字符类型布尔类型和值
2016-03-25 09:23:28 821
原创 C语言——标准库
C语言标准库宗旨:技术的学习是有限的,分享的精神的无限的。 断言 字符类测试 (部分)库函数抛出的错误代码 浮点数运算 检测整型数据类型值范围 本土化 数学函数 “非局部跳转” 信号 可变参数列表 一些常数,类型和变量 输入和输出 实用功能
2016-03-25 09:14:51 1201
原创 SecureCRT远程登录ubuntu
SecureCRT远程登录ubuntu宗旨:技术的学习是有限的,分享的精神的无限的。 用secureCRT连接Ubuntu是出现远程系统拒绝访问。。经过一翻研究才知道Ubuntu上没有ssh.以下为连接过程。1. 首先要明白什么是ssh?可以把ssh看做是telnet的加强版,telnet的密码和信息都是不加密的,而ssh则加密。.2. 开启ubun
2016-03-24 16:15:12 1454
原创 Linux下SVN服务器的搭建
Linux下SVN服务器的搭建1、下载工具(下载地址:)subversion-1.6.1.tar.gzsubversion-deps-1.6.1.tar.gz 2、解压两个包:a) tar -xzvf subversion-1.6.1.tar.gzb) tar -xzvf subversion-deps-1.6.17.tar.gzc)
2016-03-24 16:13:46 658
原创 基于ubuntu13.04搜狗输入法安装方法
基于ubuntu13.04搜狗输入法安装方法宗旨:技术的学习是有限的,分享的精神的无限的。sudo gedit etcaptsources.list 在打开的sources.list中加入以下两行: deb httpppa.launchpad.netfcitx-teamnightlyubuntu quantal main deb-src httpppa.laun
2016-03-24 16:12:49 489
原创 Linux下Samba服务器搭建
linux文件共享之samba服务器 ——ubuntu宗旨:技术的学习是有限的,分享的精神的无限的。关闭LINUX防火墙命令: #ufwdisable 然后就在windows下ping一下linux的IP,如果能ping通,就可以继续下面的内容,如果ping不通就再找找原因 注:ubuntu 12.04已经安装了最新版本的samba服务器,无需安装。如果使用12
2016-03-24 16:04:14 1113
原创 Linux静态库和动态库的设计
静态库和动态库的设计宗旨:技术的学习是有限的,分享的精神的无限的。Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供Linux应用程序使用的主要函数库均存放于/lib, /usr/lib目录下,其中采用*.so.*方式命名的是动态函数库,而以*.a方式命令的是静态函数库(空间占据大)Linux下进行链接时 默认是链接动态库1、制作静态库
2016-03-24 16:02:32 846
原创 Makefile
Makefile宗旨:技术的学习是有限的,分享的精神的无限的。一、Makefile规则 ---- 依赖关系【可执行文件依赖.o,.o依赖.c】 target:prerequisites… commandtarget就是目标文件,可以是.o或者可执行文件,还可以是标签;prerequisites要生成target所需要的文件或者目
2016-03-24 09:14:46 1256
原创 vim配置
vim超强配置宗旨:技术的学习是有限的,分享的精神的无限的。****************************Ctags安装***************************ctrl + ] --- 跳到定义处ctrl + T --- 返回到上一个地方tags文件的作用:看函数,变量或者红定义等等的定义。安装:1. 从http://ctags.
2016-03-24 09:06:41 692
原创 个人喜欢的歌曲——女生篇
个人喜欢的歌曲 —— 女生篇 1、吴汶芳:孤独的总和2、蔡依林:妥协、柠檬草的味道3、陈姿彤:战争世界、我的世界4、雁卿:怕寂寞5、张碧晨:年轮6、庄心妍:爱囚,以后的以后7、魏新雨:恋人心8、阿悄:情歌忘了告诉我,哭笑不得9、蔡健雅:红色高跟鞋10、彭佳慧:心之火11、金莎:他不爱我、爱的魔法、梦千年之恋12、程响:新娘不是我13、姚贝娜
2016-03-23 21:46:28 1923
原创 Linux九阳神功
Linux初学者必知必会宗旨:技术的学习是有限的,分享的精神的无限的。一、基础命令:1.用户管理类命令(1)useraddlibang 添加用户 —— 在home目录下生成同级的目录(2)userdel -rlibang 删除用户(3)passwdlibang 修改密码(4)su -root 切换到root用户,并将root用户的环境变量同时带入(5)g
2016-03-23 14:19:34 2236
原创 vmware虚拟机中ubuntu上网问题
虚拟机linux上网问题宗旨:技术的学习是有限的,分享的精神的无限的。1、VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only 。该模式下仅主机可以上网,虚拟机不能上网。 2、虚拟机上网方式1:NAT方式设置步骤:第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择N
2016-03-23 12:19:31 3670
原创 vmware与windows共享文件夹
vmware与windows共享文件夹宗旨:技术的学习是有限的,分享的精神的无限的。虚拟工具安装好之后,我们就可以在windows和linux设置一个共享目录了,继续看图干活。 设置好共享目录以后,打开终端输入以下命令,就可以再linux上看到windows的目录了 A. cd /mnt/hgfs/ B. ls
2016-03-23 09:38:13 1336
原创 vmwaretools安装
vmwaretools安装宗旨:技术的学习是有限的,分享的精神的无限的。 vmware的作用:windows和linux之间文件拖文件很方便,但是我一般是使用samba服务器,后面介绍samba服务器。(1)单击菜单栏上的”VM”,选择”Install Vmare Tools”,如下图所示: 出现如下界面: (2)右击虚拟机工具的压缩
2016-03-23 09:37:37 826
原创 vmware安装ubuntu
vmware安装Ubuntu宗旨:技术的学习是有限的,分享的精神的无限的。(1) 单击”Power on this virtual machine”开始安装Ubuntu系统 经过一段时间的等待出现如下界面,单击”Install Ubuntu”进行安装 在安装的时候,不要联网,联网会下载一些数据,导致安装缓慢,切记! 选择手动分区安装
2016-03-22 09:04:22 1883
原创 vmware虚拟机安装
vmware安装VMwareWorkstation 是一个软件,这款软件可以用来创建一个虚拟PC机器。我们就是在这个虚拟的PC上安装Ubuntu系统的。运行VMware Workstation软件(1)单击File ->New Virtual Machine进行创建虚拟机(2)选择典型(Typical)安装,单击”Next”按钮(3)选择”I will inst
2016-03-22 09:03:45 808
原创 安装Cygwin
Cygwin安装宗旨:技术的学习是有限的,分享的精神的无限的。下载cygwin:https://www.cygwin.com/箭头指的地方点一下就是安装该软件,开始要安装的一些软件,gcc,gdb,make,ssh等等。
2016-03-21 08:47:20 950
原创 colinux的安装
colinux安装宗旨:技术的学习是有限的,分享的精神的无限的。一、在windows上模拟linux环境,主要有三种方法:1.VMware等虚拟机,缺点:占用系统资源多,运行速度慢。2.Cygwin等模拟环境,用windows下的程序模拟实现linux下的功能,缺点:与实际linux环境有差异,并且功能模拟不完全,容易出现冲突。3.colinux/andli
2016-03-20 00:42:39 2579
原创 嵌入式软件书籍
嵌入式书籍推荐宗旨:技术的学习是有限的,分享的精神的无限的。Linux基础 1、《Linux与Unix Shell 编程指南》 C语言基础 1、《C Primer Plus,5th Edition》【美】Stephen Prata着 2、《The C Programming Language, 2nd Edition》【美】Bria
2016-03-19 08:58:04 1474
原创 嵌入式高手之路
第一部分:LINUX平台搭建与环境熟悉 了解Linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。1、Linux 简介;2、Linux 系统的主要特点;3、Linux 的组成;4、主要的 Linux 版本;5、嵌入式 Linux简介与发展第二部分虚拟机安装和
2016-03-19 08:51:39 1935
原创 51单片机——多功能电子钟
单片机——多功能电子钟宗旨:技术的学习是有限的,分享的精神的无限的。实现的功能有:走 时、校时、闹钟、温度、遥控这几个功能。要想实现这几个功能,其中走时所需要的就是时 钟芯片,即 DS1302;时间需要显示给人看,就需要显示器件,我们用到了点阵、数码管、 独立 LED、液晶;再来看校时,校时需要输入器件。 注重模块化思想:// 工程配置头文件config
2016-03-18 20:35:08 6853 4
原创 51单片机——SPI
单片机——SPI总线宗旨:技术的学习是有限的,分享的精神是无限的。 UART、 I2C 和 SPI 是单片机系统中最常用的三种通信协议。1、初步介绍 SPI 是一种高速的、全双工、同步通信总线,标准的 SPI 也仅仅使用 4 个引脚,常用于单片机和 EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。 SPI 通信原理比
2016-03-18 09:01:24 9976 2
原创 51单片机——DS18B20
单片机——DS18B20宗旨:技术的学习是有限的,分享的精神是无限的。 DS18B20——温度传感器,单片机可以通过 1-Wire 和 DS18B20 进行通 信,最终将温度读出。1-Wire 总线的硬件接口很简单,只需要把 18B20 的数据引脚和单片 机的一个 IO 口接上就可以通信。最高12为的温度存储值,补码形式存储。2字节,LSB低字节,MS
2016-03-18 08:55:33 3080 1
原创 51单片机——LCD1602
单片机——1602液晶宗旨:技术的学习是有限的,分享的精神是无限的。 1、1602液晶读写时序(1)、读状态 RS=L,R/W=H,E=H。(判断忙完毕后释放总线)(2)、读数据 RS=H,R/W=H,E=H。(3)、写指令 RS=L,R/W=L,D0~D7=指令码,E=高脉冲(4)、写数据
2016-03-17 09:02:48 1849 1
原创 51单片机——EEPROM
单片机——E2PROM宗旨:技术的学习是有限的,分享的精神是无限的。 24C02:256 个字节的 EEPROM。一般情况下,EEPROM 拥有 30 万到 100 万次的寿命。基于 I2C 通信协议的器件。I2C 是一个通信协议,它拥有严密的通信时序逻辑要求,而EEPROM 是一个器件,只是这个器件采样了 I2C 协议的接口与单片机相连而已,二者并没有必然
2016-03-17 08:53:51 8587
c语言学习笔记
2014-08-08
linux文件操作之系统调用
2014-08-08
用c函数实现ls -l功能
2014-08-08
c项目——电子词典
2014-07-09
用讲过的各种C函数实现一个简单的交互式Shell
2014-08-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人