Linux
文章平均质量分 90
cfc1243570631
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shmget() ------建立共享内存
shmget() -- 建立共享内存#include #include int shmget(key_t key, size_t size, int shmflg);key_t key----------------------------------------------- key标识共享内存的键值: 0/IPC_PRIVATE。 当key的取值为IP转载 2013-05-15 22:11:35 · 613 阅读 · 0 评论 -
DNW,JLink,tftp
DNW,JLink,tftp这些都可以将数据从主机下载到开发板上.1.DNW 通过USB下载线和SecureCRT配合使用2.JLink单独使用即可3.tftp和SecureCRT配合使用(需要开发板和Linux主机ping通)(目前只能理解到这些,有待更新)原创 2013-08-01 21:34:21 · 767 阅读 · 0 评论 -
Linux内核的编译(x86平台上)
1.首先下载一个版本的内核(注意:此内核的版本一定要能够被你你gcc编译,不然就下载低版本的内核或者下载高版本的gcc)2.将某个已经配置好的内核的配置文件拷贝到你的内核的主目录下面,将文件名改为.config(如红帽企业版5/boot/config-2.6.18-8.el5xen)3.在终端将目录打开到你要编译的内核,make menuconfig,进行配置4.配好之后make bz原创 2013-08-02 20:46:58 · 1025 阅读 · 0 评论 -
Linux虚拟机怎么实现上网(桥接方式)
首先是大前提:我的所有IP都配置成静态的(方便管理)具体方法是你首先让你的主机IP地址通过自动获取,然后你再控制台下输入 ipconfig /all就会得到IP地址,子网掩码,默认网关,还有DNS,都记住了,以后虚拟机上的除了IP地址意外,别的都一样(保证在通一网段)前提做好了,下面开始配置1.首先打开虚拟机上的Edit->Virtual Network原创 2013-08-05 12:44:17 · 2775 阅读 · 0 评论 -
Linux文件的权限
查看文件权限的语句: 在终端输入:ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些:-rw-rw-r-- 一共有10位数 其中:最前面那个 -代表的是类型 中间那三个 rw-代表的是所有者(user) 然后那三个 rw-代表的是组群(group) 最后那三个 r--代表的是其他人(oth转载 2014-03-21 18:32:33 · 619 阅读 · 0 评论 -
怎样根据结构成员的地址找到结构体的地址(list_entry)
Linux内核中,获取节点地址的函数list_entry()非常常用,由于其定义有点晦涩,先解析如下:list_entry的宏定义:#define list_entry(ptr, type, member) / ((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member))) 这个倒是不难理解:从一个结构的成员指转载 2014-03-23 16:05:18 · 1315 阅读 · 0 评论 -
Samba 的配置
Samba 实现Linux 与windows之间共享文件 首先 # setup 将网络配置好然后重启 /etc/init.d/network restart然后 ping一下windows机器,检查是否连接 然后修改Samba的配置文件vi /etc/samba/smb.conf在 Share Definitions 增加 以下【r原创 2013-05-03 23:22:55 · 697 阅读 · 0 评论 -
copy_to_user和copy_from_user两个函数的分析
在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数。copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数。由于内核空间与用户空间的内存不能直接互访,因此借助函数copy_to_user()完成用户空间到内核空间的复制,函数copy_from_user()完成内核空间到用户空间的复制。下面我们来仔细的理一下这两个函转载 2015-02-10 15:43:07 · 537 阅读 · 0 评论 -
字符设备 register_chrdev_region()、alloc_chrdev_region()区别
字符设备 register_chrdev_region()、alloc_chrdev_region 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:static struct char_device_struct {stru转载 2015-04-13 21:07:03 · 572 阅读 · 0 评论 -
write的奥秘
coly(李勇)http://www.linuxforum.net/doc/write-coly.html 在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使 用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面 去,这个过程到底是怎么实现的呢? 这个奥秘就转载 2015-04-13 21:09:28 · 1437 阅读 · 0 评论 -
linux内核cdev_init系列函数(字符设备的注册)
内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev { struct kobject kobj; // 每个 cdev 都是一个 kobject struct module *owner; // 指向实现驱动的模块 const转载 2015-04-15 20:32:34 · 642 阅读 · 0 评论 -
sudo and samba file example
//sudo## This file MUST be edited with the 'visudo' command as root.## Please consider adding local content in /etc/sudoers.d/ instead of# directly modifying this file.### This file MU原创 2015-11-12 15:56:02 · 549 阅读 · 0 评论 -
Linux 创建线程注意点
前言: 多线程程序中,特别是频繁申请,释放线程的情况下,就要注意线程的关闭,最好使用线程池。一,线程退出方式 (1) 执行完成后隐式退出; (2) 由线程本身显示调用pthread_exit 函数退出; pthread_exit (void * retval) ; (3) 被其他线程用pthread_cance函数转载 2015-12-19 15:16:46 · 798 阅读 · 0 评论 -
Linux 信号量
用下面一组函数(系统调用)来实现。int sem_init(sem_t *sem,int pshared,unsigned int value); int sem_destroy(sem_t *sem); int sem_wait(sem_t *sem); int sem_trywait(sem_t *sem); int sem_post(sem_t *sem); in转载 2016-07-20 21:38:16 · 291 阅读 · 0 评论 -
虚拟机Linux 添加磁盘容量
(1)打开VMware,选择Edit Virtual mache settings,Utilities下拉框中找到Expand如下图(2)将磁盘空间扩大到50G,点击Expand即可,随后进入一个较长的Expand过程,完成后这是新的空间已经增加,但linux环境下还不可见。(3)启动VMware环境下的Linux操作系统,添加新分区,需要root账号身份。原创 2016-11-29 22:02:32 · 2424 阅读 · 0 评论 -
Linux下压缩包的解压
1.XZ压缩最新压缩率之王xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数linux默认就带的一个压缩工具。 之前xz使用一直很少,所以几乎没有什么提起。 我是在下载phpmyadmin的时候看到这种压缩格式的,phpmyadmin压缩包xz格式的居然比7z还要小,这引起我的兴趣。 最新一段时间会经常听到xz被采用的声音,像是最新的archlinux某些东西就使用xz压缩。不原创 2013-08-02 13:29:11 · 817 阅读 · 0 评论 -
开发板,主机,Linux虚拟机互ping
这个问题头疼了我一天,几天终于搞定了,谢谢相关网友的帮助,以及网上的一些资料。首先inux与主机的互ping没有问题的。之前就搞定了,之前没有将主机与Linux虚拟机设在同一个网段里,也能ping通。但是今天看到网上的朋i友都是将他们设在同一个网段,所以我也就索性改在同一个网段了。1.首先在虚拟机的Edit->Visual NetWork Editor 将连接方式改为桥接(Briged)(原创 2013-08-01 21:25:45 · 2626 阅读 · 0 评论 -
tftp安装错误记录
rpm -ivh tftp-server-0.42-3.1.i386.rpm安装tftp时出现以下信息warning: tftp-server-0.42-3.1.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2error: Failed dependencies: libc.so.6(GLIBC_2.3.4) is原创 2013-05-01 19:46:33 · 820 阅读 · 0 评论 -
NFS 服务实现Linux主机之间的文件共享(配置过程)
以下假设服务器端的 ip是192.168.17.129 客户端的 ip是192.168.17.100 服务器端 :1确保你的软件是否都装了nfs-utils nfs-utils-lib portmap2 /etc/exports 的是否书写正确 如: 其中一条 /home/tmp 192.168.17.100 可以通过#vi原创 2013-05-03 20:59:52 · 872 阅读 · 0 评论 -
Linux 常用头文件含义
sys/types.h:数据类型定义sys/socket.h:提供socket函数及数据结构netinet/in.h:定义数据结构sockaddr_inarpa/inet.h:提供IP地址转换函数netdb.h:提供设置及获取域名的函数sys/ioctl.h:提供对I/O控制的函数sys/poll.h:提供socket等待测试机制的函数其他在网络程序中常见的头文件u转载 2013-05-16 22:43:18 · 991 阅读 · 0 评论 -
sys/stat.h
/* Copyright (C) 1991,1992,1995-2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or m转载 2013-05-16 23:06:58 · 1768 阅读 · 0 评论 -
unistd.h
/* Copyright (C) 1991-2002,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or m转载 2013-05-16 22:51:08 · 1455 阅读 · 0 评论 -
基于TCP的程序设计典例
TCP服务器端: #include#include#include#include#include#define portno 3333#define SIZE 1024int main(){ int sockfd,newfd; struct sockaddr_in server_addr; struct sockaddr_in client_a原创 2013-05-20 22:24:22 · 646 阅读 · 0 评论 -
UDP 程序设计典例
UDP 服务端:#include#include#include#include#include#define SIZE 1024#define portno 8888void udp_responds(int sockfd){ struct sockaddr_in addr; int addrlen,nbytes; char buf[SIZ原创 2013-05-21 21:08:19 · 729 阅读 · 0 评论 -
socket.h
/* Declarations of socket constants, types, and functions. Copyright (C) 1991,92,1994-2001,2003,2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Libr原创 2013-05-21 21:00:18 · 4218 阅读 · 0 评论 -
TCP并发服务器程序
#include#include#include#include#include#define portno 3333#define SIZE 1024int main(){ int sockfd,newfd; struct sockaddr_in server_addr; struct sockaddr_in client_addr; int sin_size; int原创 2013-05-22 19:54:49 · 665 阅读 · 0 评论 -
Linux 下进程控制编程——vfork()使用
#include#include#includeint main(void){ pid_t pid; int count=0; pid=vfork(); count++; printf("%d\n",count); exit(0); //不可以用return(0)会出现错误}vfork是父进程先阻塞,让子进程是在父进程地原创 2013-05-14 12:46:48 · 620 阅读 · 0 评论 -
Linux 下的信号类型
1) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIG转载 2013-05-15 17:05:14 · 645 阅读 · 0 评论 -
Linux 内核的配置编译安装
转载 2013-06-20 11:59:34 · 601 阅读 · 0 评论 -
内核模块开发中makefile的制作(多文件)
main.c#include#include//MODULE_LICENSE("GPL");//MODULE_AUTHOR("CFC");//MODULE_DESCRIPTION("Hello Linux");//MODULE_ALIAS("a simple module");extern int add(int a,int b);static int原创 2013-06-20 16:47:31 · 1827 阅读 · 0 评论 -
内核模块的makefile的制作(多模块)
hello.c#include#includeMODULE_LICENSE("GPL");//MODULE_AUTHOR("CFC");//MODULE_DESCRIPTION("Hello Linux");//MODULE_ALIAS("a simple module");extern int add(int a,int b);extern int sub(int a,in原创 2013-06-20 20:38:12 · 821 阅读 · 0 评论 -
Linux 常用命令
1、图形界面下面 ctrl+alt+t 可以调出 命令行终端2、xrandr 查看支持的屏幕分辨率 , 带有"*"是当前屏幕分辨率 xrandr -s XX 切换分辨率,"XX"是尺寸列表的位置原创 2016-11-24 20:21:38 · 306 阅读 · 0 评论
分享