Linux C
hhcs
硬件协议、驱动、内核
展开
-
一维数组如何表示二维数组
一维数组作为二维数组的表示原创 2024-05-13 16:41:16 · 254 阅读 · 0 评论 -
Linux设备驱动之Ioctl控制
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/ 用户程序所作的只是通过命令码告诉驱动程序它想做什么,至于怎么转载 2014-08-17 22:54:51 · 720 阅读 · 0 评论 -
linux C之access函数
access():判断是否具有存取文件的权限相关函数 stat,open,chmod,chown,setuid,setgid表头文件 #include定义函数 int access(const char * pathname, int mode);函数说明 access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组转载 2014-08-09 20:37:10 · 413 阅读 · 0 评论 -
linux c 下获取文件大小
linux c 下获取文件大小分类: Linux/Li 635 /* 636 * 获取文件大小 637 */ 638 int get_file_size(const char *filepath) 639 { 640 int filesize = 0; 641 struct stat转载 2014-08-10 22:15:07 · 894 阅读 · 0 评论 -
Linux中的SUID SGID详解
如果你对SUID、SGID仍有迷惑可以好好参考一下!Copyright by kevintz.由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参转载 2014-08-10 22:24:17 · 729 阅读 · 0 评论 -
android系统信息(内存、cpu、sd卡、电量、版本)获取
一、内存(ram): android的总内存大小信息存放在系统的/proc/meminfo文件里面,可以通过读取这个文件来获取这些信息: Java代码 public void getTotalMemory() { String str1 = "/proc/meminfo"; String str2="";转载 2014-08-21 23:17:55 · 530 阅读 · 0 评论 -
linux下stat函数解: stat(取得文件状态)
stat(取得文件状态)相关函数fstat,lstat,chmod,chown,readlink,utime表头文件#include#include定义函数int stat(const char * file_name,struct stat *buf);函数说明stat()用来将参数file_原创 2014-08-10 22:17:14 · 5539 阅读 · 0 评论 -
Android SD卡路径问题以及如何获取SDCard 内存
在研究拍照后突破的存储路径的问题,开始存储路径写死为: private String folder = "/sdcard/DCIM/Camera/"(SD卡上拍照程序的图片存储路径); 后来发现这样写虽然一般不会出错,但不是很好,因为不同相机,可能路径会出问题。较好的方法是通过Environment 来获取路径,最后给出一个例子,教你怎样获取SDCard 的内存,显示出来告诉用户。讲述的内容如下:转载 2014-08-21 23:09:16 · 745 阅读 · 0 评论 -
Linux 文件和目录操作的相关函数
1. 文件状态数据结构[cpp] view plaincopystruct stat { mode_t st_mode; //文件类型,文件权限 ino_t st_ino; //i节点号 dev_t st_dev; dev_t st_rde转载 2014-08-18 22:56:48 · 488 阅读 · 0 评论 -
linux dev/mem dev/kmem实现访问物理/虚拟内存
dev/mem: 物理内存的全镜像。可以用来访问物理内存。/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。/dev/mem 用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。/dev/kmem转载 2014-08-03 21:59:45 · 2288 阅读 · 0 评论 -
linux字符串函数strchr strstr
strchr函数原型:char * strchr(char * str, int ch); 功能就是找出在字符串str中第一次出项字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是 null)。strstr 函数原型: char * strstr(char * str1,char * str2);功能就是找出在字符串原创 2014-08-03 17:28:27 · 3859 阅读 · 0 评论 -
ARM GCC 内嵌汇编手册
关于这篇文档这篇文章是本人为方便各位业界同仁而翻译,方便大家开发底层代码使用,转载请注明出处,谢谢。要是你E文功底好,本人还是建议阅读E文版的。http://www.ethernut.de/en/documents/arm-inline-asm.html 对于基于ARM的RISC处理器,GNU C编译器提供了在C代码中内嵌汇编的功能。这种非常酷的特性提供了C代码没有的功能,比如手动转载 2013-11-29 22:31:55 · 805 阅读 · 0 评论 -
Linux Shell 命令的哪些事
从 echo开始:带引号的 echo和不带引号的 echo区别:使用带引号时,bash 不会对单引号中的变量进行求值,而是原样输出;而使用双引号,或者不使用引号,则会对变量进行解析: echo '$var' // $varecho $var // 5echo "$var" // 5对比printf 的格式化输出printf "%-5s %-10s %-4s"转载 2013-11-29 22:30:11 · 603 阅读 · 0 评论 -
linux 多线程编程
一、线程的基本概念 进程(process)和文件(files)是unix/linux操作系统两个最基本的抽象。进程是处于执行期的程序和它所包含的资源的总和,也就是说一个进程就是处于执行期的程序。一个线程(thread)就是运行在一个进程上下文中的一个逻辑流,不难看出,线程是进程中最基本的活动对象。 在传统的系统中,一个进程只包含有一个线程。但在现代操作系转载 2013-11-29 22:28:30 · 609 阅读 · 0 评论 -
浅析gcc、arm-linux-gcc和arm-elf-gcc的关系
浅析gcc、arm-linux-gcc和arm-elf-gcc的关系!一、GCC简介The GNU Compiler Collection,通常简称 GCC,是一套由 GNU 开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持 C 语言编译,还支持 C++, Ada,Objective C 等许多语言。另外 GCC 对硬件平台的支持,可以所无所不在,转载 2013-11-29 10:03:32 · 544 阅读 · 0 评论 -
Linux下select函数的使用
一.Select 函数详细介绍 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发 生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。转载 2013-11-20 16:02:06 · 770 阅读 · 0 评论