linux
文章平均质量分 55
求佛_ce123
专注于嵌入式软件开发
展开
-
C语言之fileno函数
open函数相关接口(open 是系统调用 返回的是文件句柄):#include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);fopen函数相关接口(open是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api):FILE *fo原创 2021-07-05 06:11:12 · 1770 阅读 · 0 评论 -
Linux下文件的时间属性
文件主要有三个时间属性:● modification time (mtime,修改时间):这个时间指的是文件内容修改的时间,而不是文件属性的修改,当数据内容修改时,这个时间就会改变,用命令ls -l默认显示的就是这个时间;● status time (ctime,状态时间):当一个文件的状态改变时,这个时间就会改变,例如更改了文件的权限与属性等,它就会改变;● access time(atime,访问时间):当读取文件内容时,就会更改这个时间,例如使用cat 去读取/etc/man.config,那么原创 2021-06-02 21:20:09 · 945 阅读 · 0 评论 -
__PRETTY_FUNCTION__
https://blog.csdn.net/nuoshueihe/article/details/8243963原创 2020-10-01 07:44:07 · 7607 阅读 · 0 评论 -
警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用]
警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用] 添加string.h头文件即可解决问题。strlen原型是在这里声明的。此类问题的解决方法相同。原创 2013-01-03 22:05:49 · 10856 阅读 · 0 评论 -
linux中Framebuffer的原理及实现机制
linux中Framebuffer的原理及实现机制*一、FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。 Linux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出 FrameBuffer这 个设备来供用户态进程实现直接写屏。Framebu转载 2011-08-21 09:24:10 · 21680 阅读 · 0 评论 -
make clean、make mrproer 以及make distclean的区别
make clean、make mrproer 以及make distclean的区别解压内核源码包后, 到内核源代码目录树的顶层目录, 执行# make helpCleaning targets: clean - Remove most generated files but keep the config and enough bui原创 2012-02-06 23:18:31 · 9731 阅读 · 9 评论 -
linux内核中的Oops
linux内核中的Oops什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时转载 2011-08-23 10:27:15 · 3159 阅读 · 0 评论 -
linux终端开发环境的配置
linux终端开发环境的配置 在终端下开发linux程序一般是通过ssh连接到安装有ssh服务器的linux(这里是Ubuntu 11.04)上,ssh客户端有很多,比如SecureCRT,开发工具一般使用vim,下面我们介绍如何搭建开发环境:Ubuntu 11.10 系统启动默认进入终端具体解决的步骤是这样的:vim /etc/default/grub修改GRUB_CMDLINE_LINUX_D原创 2013-08-07 19:45:59 · 5460 阅读 · 1 评论 -
警告: 隐式声明与内建函数‘exit’不兼容 [默认启用]
警告: 隐式声明与内建函数‘exit’不兼容 [默认启用] 最近在学习linux下的多任务编程,用到exit等函数时,经常出现该警告,查找资料后发现,原因其实很简单,没有把stdlib.h头文件包含进来,加上就没问题了.以此类推,编译后出现警告:隐式声明与内建函数’XXX’不兼容的问题所在都是因为没有包含相应的头文件,加上就OK.类似的问题:警告: 隐式声明与内建函数‘strlen’不兼容 [默认原创 2013-08-24 10:14:38 · 10058 阅读 · 0 评论 -
linux下alias命令
linux下alias命令 在linux下经常要切换目录,比较麻烦,然后就想到了alias命令,利用alias可以把很长的命令变成任意我们喜欢的简短命令.将该命令的用法整理一下,便于以后查看方便.功能说明:设置指令的别名。语 法:alias[别名]=[指令名称]参 数:若不加任何参数,则列出目前所有的别名设置。举 例:root@czu:~/projects/myshell/srce原创 2013-10-05 23:54:58 · 2333 阅读 · 0 评论 -
改变Vim中注释的颜色
改变Vim中注释的颜色 Vim中注释的颜色非常暗,看的很吃力,非常不爽,如下所示:在/etc/vim/vimrc中增加如下一句:highlight Comment ctermfg=green guifg=green效果如下:原创 2013-09-20 12:14:14 · 3481 阅读 · 1 评论 -
Ubuntu下vim中ctags的配置方法
Ubuntu下vim中ctags的配置方法 ctags可以建立源码树的索引,使程序员在编程时能迅速定位函数,变量,宏定义等位置去查看原型.以下是在Ubuntu下vim中ctags的下载安装和配置过程:下载并安装ctags 在终端输入如下命令:apt-get install ctags建立源码索引 比如我经常需要查阅Linux的内核代码,而这些代码放在/root/linux-2.6.14目录下,那么原创 2013-09-16 07:23:28 · 7327 阅读 · 0 评论 -
Ubuntu 中安装svn服务器
Ubuntu 中安装svn服务器安装apt-get install subversion创建项目目录sudo mkdir /root/svncd /root/svn/project创建svn仓库svnadmin create /root/svn/projects执行命令后生成以下文件drwxr-xr-x 2 root root 4096 2013-10-05 22:58 confdrwxr-sr-原创 2013-10-10 14:53:18 · 8493 阅读 · 0 评论 -
Linux守护进程简介和实例详解
守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种很有用的进程.Linux的大多数服务器就是用守护进程实现的.比如,Internet服务器inetd,Web服务器httpd等.同时,守护进程完成许多系统任务.比如,作业规划进程crond,打印进程lpd等.原创 2014-07-30 16:02:32 · 14888 阅读 · 1 评论 -
使用 /proc 文件系统来访问 Linux 内核的内容
这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。本文对 /proc 虚拟文件系统进行了介绍,并展示了它的用法。最初开发转载 2011-08-23 11:38:09 · 2762 阅读 · 0 评论 -
Ubuntu11.10编译内核:make xconfig错误
Ubuntu11.10编译内核:make xconfig错误问题:root@czu:~/桌面/linux-2.6.30.4# make xconfig CHECK qt *原创 2012-02-09 21:16:24 · 5764 阅读 · 1 评论 -
内核编译错误: make: *** [.tmp_vmlinux1] Error 1
若编译内核出现如下情况:WARNING: modpost: Found 1 section mismatch(es).To see full details build your kernel with:'make CONFIG_DEBUG_SECTION_MISMATCH=y' GEN .version CHK include/linux/compile.h UPD原创 2012-02-09 22:05:19 · 11775 阅读 · 0 评论 -
Linux操作系统内核启动参数详细解析
Linux操作系统内核启动参数详细解析Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。 如果不使用启动管理器,比如直接从BIOS或者把内核文转载 2011-08-23 15:46:19 · 3438 阅读 · 0 评论 -
使用内存文件系统
在Linux中可以将一部分内存mount为分区来使用,通常称之为RamDisk。RamDisk有三种实现方式:第一种就是传统意义上的,可以格式化,然后加载。这在Linux内核2.0/2.2就已经支持,其不足之处是大小固定,之后不能改变。 为了能够使用Ramdi转载 2011-08-21 09:43:57 · 3210 阅读 · 0 评论 -
初始引导时/dev/console /dev/ram0来历
我们知道linux 使用程序udev来在/dev目录下建立各种设备文件。然而,系统引导时,udev并没有执行。那么,系统初始化时用到的/dev/console /dev/ram0从哪里来的呢?见main.c init()函数中:if (sys_open((const ch转载 2011-08-21 10:21:50 · 5700 阅读 · 0 评论 -
linux内存文件系统(RamDisk)
在Linux中可以将一部分内存mount为分区来使用,通常称之为RamDisk。RamDisk有三种实现方式: 第一种就是传统意义上的,可以格式化,然后加载。这在Linux内核2.0/2.2就已经支持,其不足之处是大小固定,之后不能改变。为了能够使用Ra转载 2011-08-21 09:48:16 · 8273 阅读 · 0 评论 -
一个创建 ramdisk的脚本
#!/bin/bash# ramdisk.sh# "ramdisk"是系统RAM内存的一段,#+ 它可以被当成是一个文件系统来操作.# 它的优点是存取速度非常快 (包括读和写).# 缺点: 易失性, 当计算机重启或关机时会丢失数据.#+ 会减少系统可用的RAM.原创 2011-08-21 09:33:54 · 2688 阅读 · 0 评论 -
linux 2.6内核initrd.img文件分析
linux 2.6内核initrd.img文件分析 如果对系统进行驱动的升级或添加新硬件,此时,常会用到mkinitrd命令。而该命令其实是一个脚本,通过一系列的流程来生成系统启动需要的initrd.img文件。通过分析该文件,我们可以更清楚的知道系统启动时候加载驱动的原创 2011-08-14 10:09:58 · 4699 阅读 · 0 评论 -
如何从源码包安装软件?
如何从源码包安装软件?从源码包安装软件最重要的就是仔细阅读README INSTALL等说明文件它会告诉你怎样才能成功安装 通常从源码包安装软件的步骤是:tar jxvf gtk+-2.4.13.tar.bz2 解开源码包cd gtk+-2转载 2011-09-03 22:40:37 · 2695 阅读 · 1 评论 -
Fedora15开启ROOT帐号登录
Fedora15 依旧默认无法让root登录x,默认禁止了root 超级用户。1.用普通用户登录,在终端输入su切换到root权限 ->su ->密码: 这样切换成root账户。2.编辑/etc/pam.d/gdm和/etc/pam.d/gdm-passwor原创 2011-07-24 16:23:26 · 4545 阅读 · 0 评论 -
Linux中dd命令详解
Linux中dd命令详解1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二原创 2011-08-23 21:27:57 · 3102 阅读 · 0 评论 -
linux查看硬件配置的命令
linux查看硬件配置的命令1.查看机器所有硬件信息:dmidecode |moredmesg |more这2个命令出来的信息都非常多,所以建议后面使用"|more"便于查看2.查看CPU信息方法一:Linux下CPU相关的参数保存在 /proc/原创 2011-08-25 09:30:59 · 12041 阅读 · 0 评论 -
Source Insight的一些技巧
1、背景色选择 要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题 SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故原创 2011-10-10 22:00:57 · 10931 阅读 · 1 评论 -
Ubuntu11.10下如何设置主机名
Ubuntu11.10下如何设置主机名在终端可以用hostname查看主机名。主机名存放在/etc/hostname中 ,sudo gedit /etc/hostname 修改后保存/etc/hosts还有一个备份 , sudo gedit /etc/hosts 修改保存,重启即可。原创 2012-01-27 22:39:16 · 2889 阅读 · 2 评论 -
Ubuntu11.10下激活ROOT帐号
Ubuntu11.10下激活ROOT帐号在Ubuntu11.10下,root身份默认是禁用的,需要激活ROOT帐号步骤:1:终端下运行sudo passwd root来设置一个密码;2:设置成功后,用su root或者su来登录root帐号;3:登录的时候选择其他然后用户名root,密码是sudo passwd root设置的密码。原创 2012-01-27 21:55:59 · 4865 阅读 · 0 评论 -
Ubuntu 11.10 gedit中文乱码解决办法
Ubuntu 11.10 gedit中文乱码解决办法在终端输入: sudo apt-get install dconf-tools --安装dconf-editor 按下Alt-F2,打开“运行应用程序”对话框,输入dconf-editor+回车,打开dconf-editor原创 2012-01-28 00:15:40 · 2753 阅读 · 0 评论 -
make mrproper及mrproper的含义
make mrproper及mrproper的含义 Linux下面去编译项目之前,一般常会用make mrproper去先删除之前编译所生成的文件和配置文件,备份文件等,其中,mrproper和distclean,clean之间的区别,Linux内核源码根目录下面的makefile中,有很清晰的解释:help: @echo 'Cleaning targets:'原创 2011-11-02 00:05:30 · 19336 阅读 · 1 评论 -
Makefile编写入门
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写m转载 2011-09-26 17:55:29 · 3303 阅读 · 0 评论 -
[经典]Linux内核中ioremap映射的透彻理解
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的转载 2011-10-23 01:02:29 · 4115 阅读 · 0 评论 -
基于浏览器的Linux
QEMU模拟器项目创始人Fabrice Bellard开发了在JavaScript中运行的模拟器,允许用户在浏览器上(支持Firefox 4和Google Chrome 11)启动Linux。现在,另一位开发者修改了Fabrice Bellard的JS/Linux,允许模翻译 2011-10-13 00:31:28 · 19908 阅读 · 41 评论 -
shell脚本入门
建立一个脚本 Linux中有好多中不 同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit原创 2011-10-19 22:31:22 · 3426 阅读 · 0 评论 -
Linux 用户(user)和用户组(group)管理概述
一、理解Linux的单用户多任务,多用户多任务概念;Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;1、Linux 的单用户多任务;单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程转载 2011-07-19 11:22:38 · 1997 阅读 · 0 评论