
linux学习
文章平均质量分 76
danylin
这个作者很懒,什么都没留下…
展开
-
函数--inet_ntoa()
函数简介linux下:函数声明:char *inet_ntoa (struct in_addr);返回点分十进制的字符串在静态内存中的指针。所在头文件://end linux 下函数功能:将网络地址转换成“.”点隔的字符串格式。所需库: winsock.h也可以使用:头文件Winsock2.hlib翻译 2013-08-26 17:35:40 · 968 阅读 · 0 评论 -
Linux下静态库编译
Linux下动态库文件的扩展名为".so"(Shared Object)。按照约定,所有动态库文件名的形式是libname.so(可能在名字中加入版本号)。这样,线程函数库被称作libthread.so。静态库的文件名形式是libname.a。共享archive的文件名形式是libname.sa。共享archive只是一种过渡形式,帮助人们从静态库转变到动态库。 本文仅以简单的例子介原创 2013-10-11 12:04:41 · 1519 阅读 · 0 评论 -
基于FPGA的PCIE总线扩展卡的设计
PCIe(PCI express)是用来互联诸如计算机和通信平台应用中外围设备的第三代高性能I/0总线。PCIE体系结构继承了第二代总线体系结构最有用的特点,采用与PCI相同的使用模型和读/写通信模型,支持各种常见的事务。其存储器、I/0和配置地址空间与PCI的地址空间相同。由于地址空间模型没有变化,所以现有的OS和驱动软件无需进行修改就可以在PCIE系统上运行。 PCIE是串行协议,与原有原创 2013-10-26 12:05:40 · 3820 阅读 · 0 评论 -
Ubuntu下的环境变量
Ubuntu下的环境变量LD_LIBRARY_PATH 问题: (1)在Ubuntu终端运行env,发现并没有LD_LIBRARY_PATH这个环境变量(2)新打开一个终端,输入命令echo $LD_LIBRARY_PATH,结果为空白。通过export添加目录后,在输入echo命令,会出现刚刚添加的目录。如下: 关闭该终端,打开原创 2013-11-08 15:24:06 · 1599 阅读 · 0 评论 -
Ubuntu下GTK的安装、编译和测试
一、安装 1、安装gcc/g++/gdb/make 等基本编程工具$sudo apt-get install build-essential 2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件$sudo apt-get install gnome-core-devel 3、用于在编译GTK程序时自动找出头文原创 2013-11-08 15:37:52 · 1027 阅读 · 0 评论 -
Ubuntu必备开发工具安装
1、安装gcc/g++/gdb/make 等基本编程工具$sudo apt-get install build-essential2、安装常见开发工具$sudo apt-get install autoconf automake fakeroot kernel-package linux-headers-[kernel version]-amd643原创 2013-11-11 10:46:42 · 5659 阅读 · 0 评论 -
Linux下autoconf和automake使用
一、Makefile介绍 Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有文件的信息,在make时会决定在链接的时候需要重新编译哪些文件。 Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动的发现最终的转载 2013-11-11 17:26:50 · 906 阅读 · 0 评论 -
linux的内核编译和驱动安装
#uname -r 显示内核的版本号 一. 内核编译 1. 什么是内核编译 将内核源码转换为目标程序的过程称之为内核编译,在编译过程可以定制内核的功能 2. 内核编译的理由 (1) 重新定制内核功能 (2) 给内核打补丁 (3) 安装硬件驱动程序 3. 编译2.4内核 (1) 完全编译 -准备工作 a. 获取2.4内核源码 -转载 2013-12-04 16:52:34 · 1487 阅读 · 0 评论 -
Qt程序运行时 Permission denied
QT程序运行报错:Cannot overwrite file /home/dany/.config/Nokia//qtversion.xml: Permission denied解决办法是先给用户添加权限,进入目录,执行chown -hR $USER:$USER qt4chown -hR $USER:$USER qtcreator然后再执原创 2013-12-11 17:02:26 · 6142 阅读 · 0 评论 -
X Window开发编程
开始编程前先要有一个好的开发工具 可以快速的查找函数与宏定义及结构定义我推荐vim然后是要随时准备看man 基本上x开发不难 但是看man理解每个函数那对以后的开发会更快下面先开始vim相关的配置1 创建/usr/include目录下的定义索引cd /usr/includectags *2 创建 /usr/include/X11目录下的定义索引cd /u转载 2014-03-01 10:03:44 · 1927 阅读 · 0 评论 -
X Window编程基础 2
绪论本教程是有关X窗口编程的"would-be"系列教程的第一部。单方面来说,这个教程是没用的,因为一个真正的X窗口程序员通常会使用抽象级更高的库,例如Modif(或者是它的自由版本lesstiff),GTK,QT或者其它类似的库。但...也许我们应该从某个更易于学习理解的地方开始。因为,知道它们到底是如何工作的应该永远不是个坏主意吧。读过这个教程后,读者应该能够编写非常简单的X窗转载 2014-03-01 10:06:27 · 2132 阅读 · 0 评论 -
FPGA开发PCIe
一、PCIe简介PciE是pci express的简称,是为了解决pci带宽限制而开发的新技术。并行信号由于受信号串扰的影响,带宽做到pcix 64bit位宽x133M基本已经到了瓶颈了,要进一步提高总线带宽一种新技术迫在眉睫,PCIE就是在这种背景下提出的。pcie发展到今天已经有了三个版本,分别被称为gen1,gen2,gen3即一代,二代,三代。截至目前二代pcie已经在计算原创 2013-10-08 17:42:30 · 9832 阅读 · 2 评论 -
PCI设备驱动知识点
一、PCI简介 PCI是一种外设总线规范。我们先来看一下什么是总线:总线是一种传输信号的路径或信道。典型情况是,总线是连接于一个或多个导体的电气连线,总线上连接的所有设备可在同一时间收到所有的传输内容。总线由电气接口和编程接口组成。本文讨论Linux 下的设备驱动,所以,重点关注编程接口。 PCI是Peripheral Component Interconnect(外围设备互联转载 2013-10-08 15:21:33 · 1876 阅读 · 0 评论 -
PCI驱动的注册和初始化
1. 总线、设备和驱动1.1 简单介绍 Linux设备模型中三个很重要的概念就是总线、设备和驱动,即bus,device和driver。它们分别对应的数据结构分别为struct bus_type,struct device和struct device_driver。 总线是处理器与一个或多个设备之间的通道,在设备模型中,所有的设备都通过总线相连。在最底层,Lin转载 2013-10-08 14:53:23 · 3207 阅读 · 0 评论 -
SOCKADDR_IN
在windows/linux下有下面结构:sockaddr结构struct sockaddr {unsigned short sa_family; /* address family, AF_xxx */char sa_data[14]; /* 14 bytes of protocol address */};sa_family是地址家族,一般都是“AF_xxx”的形式。通翻译 2013-08-26 17:34:04 · 987 阅读 · 0 评论 -
linux下socket编程接口处理函数
一、基本socket函数 Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket实现。1、socket函数synta原创 2013-08-26 17:30:34 · 1376 阅读 · 0 评论 -
基于Linux的TCP网络编程
基于Linux的TCP网络编程一.Linux下TCP编程框架TCP网络编程的流程包含服务器和客户端两种模式。服务器模式创建一个服务程序,等待客户端用户的连接,接收到用户的连接请求后,根据用户的请求进行处理;客户端模式则根据目的服务器的地址和端口进行连接,向服务器发送请求并对服务器的响应进行数据处理。1.服务器端程序包括Ø 建立套接字( socket())Ø转载 2013-08-27 14:03:46 · 749 阅读 · 0 评论 -
Linux函数-inet_aton / inet_ntoa
将字符串IP地址与32位的网络序列IP地址进行相互转换。inet_aton头文件: #include #include #include 完整描述: int inet_aton(const char *string, struct in_addr *addr);参数描述: 1原创 2013-08-28 10:02:59 · 6613 阅读 · 0 评论 -
Linux函数--inet_pton / inet_ntop
inet_pton, inet_ntopLinux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。inet_pton函数原型如下[将"点分十进制" -> "整数"]#include #include #include原创 2013-08-28 09:35:09 · 8190 阅读 · 0 评论 -
Linux网络编程介绍
(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一个地方获取文件的时候,是我们的ftp程序主动同外转载 2013-08-28 10:40:19 · 1262 阅读 · 0 评论 -
Linux Makefile 简介
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一原创 2013-08-28 16:53:19 · 726 阅读 · 0 评论 -
Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打开关闭保存原创 2013-08-30 10:11:44 · 795 阅读 · 0 评论 -
制作Linux U盘启动盘
Universal USB Installer是一个直接将系统的ISO写在U盘上的绿色软件,就相当于一个刻录机软件,不过将U盘替换成了光驱和光盘而已。一个单独的exe,专治各种没有光驱的电脑或者没有安装光盘又没有刻录机又需要重装系统的电脑,支持Linux,Ubuntu,Windows等等只要是系统都支持,傻瓜操作,现在已经发布的版本号是1.9.1.0。 下载地址:http://www.bki原创 2013-09-09 11:51:53 · 763 阅读 · 0 评论 -
Linux常见问题解决
1、解决进入GUI时的问题 "Crash report failed to authenticate root: Failed to run /usr/share/apport/apport-gtk as user root" : 执行 "gksu-properties" 把 authentication 从 "su" 改成 "sudo".2、安装 Ubuntu Desktop,原创 2013-09-12 17:30:58 · 1514 阅读 · 0 评论 -
X Window编程基础 1
理解 Xwindow很多人在用 Xwindow,但是他们是在用一些包装掩盖下的 Xwindow,那些包装有些很不稳定,占用大量资源,以至于有人说 Xwindow 是垃圾。其实 Xwindow 是一个非常出色的图形系统,你应该抱怨的是那些不稳定的包装,而不是 Xwindow 本身。Xwindow 是非常巧妙的设计,很多时候它在概念上比其它窗口系统先进,以至于经过很多年它仍然是工作站上的工业标原创 2014-03-01 09:55:46 · 3506 阅读 · 0 评论