Linux
HappinessLee
专注音视频
展开
-
Makefile常用万能模板(包括静态链接库、动态链接库、可执行文件)
阅读目录1、生成可执行文件的makefile 2、生成静态链接库的makefile 3、生成动态链接库的makefile 本文把makefile分成了三份:生成可执行文件的makefile,生成静态链接库的makefile,生成动态链接库的makefile。 这些makefile都很简单,一般都是一看就会用,用法也很容易,只需要把它们拷贝到你的代码的同一目录下,然后就可以...原创 2019-10-17 17:59:14 · 1286 阅读 · 0 评论 -
globalmem.c:193:2: 错误:隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration]
/home/lufee/mydiraver//globalmem.c:193:2: 错误:隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration]/home/lufee/mydiraver//globalmem.c:210:2: 错误:隐式声明函数‘kfree’ [-Werror=implicit-function-declaration]转载 2014-11-13 14:16:22 · 1996 阅读 · 0 评论 -
Linux网络编程之socket文件传输示例
本文所述示例程序是基于Linux平台的socket网络编程,实现文件传输功能。该示例是基于TCP流协议实现的socket网络文件传输程序。采用C语言编写。最终能够实现传输任何格式文件的文件传输程序。具体实现代码如下:Server端代码如下:?1234567891011121314151617转载 2015-02-02 11:25:06 · 8118 阅读 · 2 评论 -
GDB远程调试技术---基于mini2440
GDB调试器提供了两种不同的调试代理用于支持远程调试,即gdbserver方式和stub(插桩)方式。 这两种远程调试方式是有区别的。gdbserver本身的体积很小,能够在具有很少存储容量的目标系统上独立运行,因而非常适合于嵌入式环境;而stub方式则需要通过链接器把调试代理和要调试的程序链接成一个可执行的应用程序文件,如果程序运行在没有操作系统的机器上,那么stub需要提供异常和中断处转载 2015-02-10 11:39:41 · 880 阅读 · 0 评论 -
Linux网络编程:TCP服务器(单进程多用户),使用select方法实现
Linux下的单进程多用户TCP服务器,采用select方法实现。/************************************************* * File name : server.c * Description : 单进程并发服务器 * Author : 745917886@@qq.com * Version : V1.0 * Dat转载 2015-06-17 11:29:27 · 2486 阅读 · 0 评论 -
Makefile 使用总结
1. Makefile 简介Makefile 是和 make 命令一起配合使用的.很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂.Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的想象力. 本篇博客是基于 {转载 2015-06-18 09:31:32 · 1184 阅读 · 0 评论 -
Linux 线程同步的三种方法
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHR转载 2016-09-06 20:34:00 · 2496 阅读 · 0 评论 -
读写锁 pthread_rwlock
1、概述 读写锁与互斥量类似,不过读写锁允许更高的并行性。互斥量要么是锁住状态,要么是不加锁状态,而且一次只有一个线程对其加锁。读写锁可以有三种状态:读模式下加锁状态,写模式下加锁状态,不加锁状态。一次只有一个线程可以占有写模式的读写锁,但是多个线程可用同时占有读模式的读写锁。读写锁也叫做共享-独占锁,当读写锁以读模式锁住时,它是以共享模式锁住的,当它以写模式锁住时,它是以独占模式锁住的转载 2016-11-29 09:31:10 · 645 阅读 · 0 评论 -
简单的线程消息队列实现
1. 线程使用场景(1)流水线方式。根据业务特点,将一个流程的处理分割成多个线程,形成流水线的处理方式。产生的结果:延长单一流程的处理时间,提高系统整体的吞吐能力。(2)线程池方式。针对处理时间比较长且没有内蕴状态的线程,使用线程池方式分流消息,加快对线程消息的处理,避免其成为系统瓶颈。线程使用的关键是线程消息队列、线程锁、智能指针的使用。其中以线程消息队列最为重要。2. 线程转载 2016-11-25 09:28:43 · 3906 阅读 · 0 评论 -
UNIX_SOCKET 进程间通信
使用socket实现进程间通信:(UNIX domain中面向连接通信) 使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。man unix内容如下:NAME( 名称) unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL ? 用于本地内部进程通讯的套接 字。SYNOP转载 2017-03-30 10:29:22 · 4298 阅读 · 0 评论 -
ubuntu挂载主机文件夹脚本
#!/bin/bashmount -t cifs -o username='xxxxx',password='xxxxxxxx',vers=2.1 //192.168.1.1/public /mnt原创 2018-11-20 17:22:03 · 841 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文转载 2013-07-17 15:58:24 · 710 阅读 · 0 评论 -
总线错误和段错误问题的定位
对现在的很多初级的程序原来说如果遇到总线错误(bus error)或者段错误(segementation fault/ core dump)是一件非常折磨人的事,让人一时间找不到什么好的方法也不知从何处下手去解决这个问题;和许多人一样,我很快也遇到了这样的问题: 出现这个错误时,错误信息对引起这种事件的的错误的源代码并没有做简单或者详细的解释;知识简单的显示error:segem转载 2013-06-29 16:20:00 · 6902 阅读 · 0 评论 -
Linux中文件及文件描述符
一、Linux中的文件Linux中文件可以分为4种:普通文件、目录文件、链接文件和设备文件。 1、普通文件 是用户日常使用最多的文件,包括文本文件、shell脚本、二进制的可执行和各种类型的数据。 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。转载 2012-12-04 15:56:27 · 649 阅读 · 0 评论 -
Fedora 9 安装 samba 服务共享
实验环境:虚拟机+fedora9实验目的:练习fedora9的samba共享教程适用:想在fedora9上面使用共享的菜鸟一、 samba简介SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,M转载 2012-12-20 14:52:45 · 911 阅读 · 0 评论 -
Linux/etc/profile文件详解
1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 2、常在/etc/profile文件中修改环境变量,在这里修改的内容是对所有用户起作用的。以下主要操作将在该文件中进行。 3、如何添加环境变量。 例如添转载 2013-01-11 17:00:25 · 2427 阅读 · 0 评论 -
Linux查看程序端口占用情况
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程。 使用命令:netstat –apn 查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 发现8080端口被PID为9658的Java进程占用。进转载 2013-01-20 23:23:53 · 766 阅读 · 0 评论 -
Linux环境变量的设置和查看方法
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ echo $HELLO Hello! 3. 使用env命令显示所有的环境变量 $ env HOSTNAME=redbooks.safe.org PVM_RSH=/us转载 2013-01-19 20:25:24 · 697 阅读 · 0 评论 -
configure; make; make install
翻译一篇文章,我最早从这篇文章中了解到为什么Linux平台上,从源代码安装软件通常都需要这三步:./configure, make, make install 。译文如下:我总是听人们说,通常只要使用configure, make, make install来让程序可以运行。不幸的是大多数现在用电脑的是根本没有使用过compiler,或是写过一行代码。随着图形用户接口(GUI),应转载 2013-03-13 20:29:55 · 853 阅读 · 0 评论 -
Linux core 文件介绍
1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“al转载 2013-03-20 10:50:52 · 716 阅读 · 0 评论 -
linux网络通信传图片
server.c#include #include #include #include #include #include #include #include #include /* 服务器要监听的本地端口 */#define MYPORT 4000/* 能够同时接受多少没有accept 的连接 */#define BACKLOG 10//转载 2013-04-20 10:08:21 · 1107 阅读 · 0 评论 -
Makefile解读
[精华] [转贴]Makefile解读http://www.chinaunix.net 作者:雪中独行 发表于:2007-04-10 23:09:20【发表评论】【查看原文】【Linux讨论区】【关闭】 ========================================== Makefile 初探翻译 2013-05-16 11:41:59 · 781 阅读 · 0 评论 -
linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2013-06-20 16:07:40 · 726 阅读 · 0 评论 -
ubuntu打开windows下txt文档乱码问题的解决
昨天晚上安装了Ubuntu11.10,打开TXT文件的时候发现中文乱码问题,在网上查了一下,一些网友提供了下面的方法: “按Alt+F2,打开“运行应用程序”对话框,输入“gconf-editor”,回车打开“配置编辑器”,展开/apps/gedit-2 /preferences/encodings节点,打开auto_detected键的“编辑键”对话框,点击“添加”,输入“GB2312”,转载 2012-09-13 09:31:51 · 3250 阅读 · 1 评论