自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

原创 linux程序设计——进程和信号(第十一章)

第十一章    进程和信号进程和信号构成了linux操作系统环境的基础部分。它们控制着linux和所有其他类UNIX计算机系统执行的几乎所有活动。不管是对于系统程序员、应用程序员还是系统管理员,理解linux和UNIX系统的进程管理都是很有好处的。11.1    什么是进程UNIX标准把进程定义为:“一个其中运行着一个或者多个线程的地址空间和这些线程所需要的系统资源。”目前,可以把进程

2015-06-30 21:13:41 746

原创 linux程序设计——调试(第十章)

第十章    调试10.1 错误类型有几种原因会造成程序的缺陷,针对每种原因,都有下面的一些建议的方法来查找和纠正功能定义错误:如果程序的功能被错误地定义了,它就肯定不能够完成预定的工作.所以在开始程序设计之前,必须确认知道并理解这个程序究竟是用来干什么的.认真分析用户需求并加强和用户之间的沟通,有助于查找和纠正许多程序功能定义方面的错误.设计规划错误:无论程序规模的大小,在创建它

2015-06-29 21:27:51 632

原创 linux程序设计——make命令和makefile文件(第九章)

9.2 make命令和makefile文件9.2.6 内置规则make命令本身带有大量的内置规则,它们可以极大地简化makefile文件的内容,尤其在拥有许多源文件时更是如此.为了测试这些内置规则,下面创建文件foo.c,他是一个传统的"hello world"程序:#include #include int main(){    printf("hello world\n

2015-06-28 21:10:42 627

原创 linux程序设计——make命令和makefile文件(第九章)

9.2 make命令和makefile文件9.2.3 makefile文件中的注释makefile文件中的注释以#号开头,一直延续到这一行的结束.和C语言的源文件注释一样,makefile文件中的注释可以帮助程序的编写者以及其他人理解最初编写这个文件的目的.9.2.4 makefile文件中的宏mkaefile文件允许使用宏以一种更通用的格式来书写它们.通过语句MACRONAM

2015-06-27 18:57:10 610

原创 linux程序设计——多个源文件的问题,makefile的语法(第九章)

第九章 开发工具本章介绍一些linux系统中的程序开发工具,其中一些工具也可以在UNIX系统中使用.linux系统除提供开发人员必须的编译器和调试器外,还提供一组工具,其中每个都可以完成一件独立的任务,并且允许开发人员将它们创造性地组合在一起,而这种组合能力也是linux从UNIX的哲学体系中继承而来的.9.1 多个源文件带来的问题在编写小程序时,许多人都会在编辑完源文件后重新编译所有

2015-06-26 20:50:41 1625

原创 linux程序设计——执行SQL语句(第八章)

8.3    使用C语言访问MySQL数据4.处理返回的数据MySQL返回两种类型的数据1.从表中提取的信息,也就是列数据2.关于数据的数据,即所谓的元数据(metadata),例如列名和类型.mysql_field_count函数提供了一些关于查询结果的基本信息,它接受连接对象,并返回结果集中的字段(列)数目:unsigned int mysql_field_count(

2015-06-25 21:38:29 767

原创 linux程序设计——执行SQL语句(第八章)

8.3    使用C语言访问MySQL数据8.3.3 执行SQL语句执行SQL语句的主要API函数被恰当的命名为:int mysql_query(MYSQL *connection, const char *query);这个例程接受连接结构指针和文本字符串形式的有效SQL语句,如果成功,它返回0.1.不返回数据的SQL语句为简单起见,先看一些不返回任何数据的SQL语句:U

2015-06-24 19:36:01 1031

原创 调试测试技巧(VS2010)

本文为调试测试总结,地址为http://blog.csdn.net/yiranant/article/details/46604675.调试测试技巧总结:1.最重要是编写代码时,命名规范一定要规范2.使用Class View,显示项目内定义的类,显示各个类的内容。3.Call Stack可以查看当前堆栈上的函数或过程调用4.Watch监视变量的值5.Hit Count满足某种条件时断点才停下6.直接使用find进行当前文档或整个项目的查找

2015-06-23 13:05:56 811

原创 linux程序设计——使用C语言访问MySQL(第八章)

8.3    使用C语言访问MySQL数据Windows本地程序(如Access)可以通过ODBC驱动程序来访问MySQL,甚至有针对linuxODBC驱动程序。下面讨论使用C语言来访问MySQL.8.3.1 连接例程用C语言连接MySQL数据库包含两个步骤:1.初始化一个连接句柄结构2.实际进行连接首先,使用mysql_init来初始化连接句柄:#include

2015-06-22 20:52:28 678

原创 linux找不到mysql.h(连接不到mysql.h)

编写C语言程序connect1.c与MySQL数据库建立连接,在命令行输入:gcc connect1.c -o connect1.exe -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient显示找不到mysql.h,如下(图1)所示:原因是安装MySQL时只是安装了MySQL的服务器和MySQL的客户端,没有安装MySQL databa

2015-06-22 13:51:08 17063 4

原创 make出现遗漏分隔符(linux)

编写makefile文件: 14 access.o: access.c cd_data.h 15     gcc $(CFLAGS) -I$(INCLUDE) -c access.c 16   17 application: app_ui.o access.o 18     gcc $(CFLAGS) -o application app_ui.o access.o $(LIB

2015-06-21 15:02:22 18051

原创 linux程序设计——MySQL管理(第八章)

8.2.2 创建用户并赋予权限作为MySQL管理员,最常见的工作就是维护用户信息——在MySQL中添加和删除用户并管理它们的权限。通过在MySQL控制台中使用grant和revoke命令来管理用户权限。1.grant命令MySQL的grant命令几乎完全遵循SQL92的语法,它的常规格式是:grant on to [identified by user-password] [

2015-06-20 16:13:43 653

原创 linux程序设计——MySQL管理(第八章)

8.2 MySQL管理包含MySQL发行版中的一些有用的工具程序使管理工作变得更加容易,它们中最常用的是mysqladmin程序。8.2.1 命令除了mysqlshow命令以外,所有的MySQL命令都接受下面的3个标准参数。命令选项    参数    说明-u          用户名  在默认情况下,mysql工具会尝试把当前linux的用户名作为MySQL的用户名,-u参数

2015-06-19 21:30:43 517

原创 linux程序设计——安装MySQL(第八章)

第八章  MySQL这章介绍RDBMS或关系型数据库管理系统(Relational Database Management System)。两个著名的开源RDBMS应用软件是PostgreSQL和MySQL。PostgreSQL能在任何情况下免费使用。MySQL在许多场合下也是免费的。用于同一用途的商业产品有Oracle、Sybase和DB2,它们都能运行与多个平台之上。仅支持Window

2015-06-18 21:36:23 625

原创 linux程序设计——CD唱片应用程序(第七章)

7.4 CD唱片应用程序这篇为第七章的CD唱片应用程序,代码在CD唱片应用程序代码下载。我们使用dbm数据库对数据存储,改进之前的CD唱片应用程序。7.4.1 更新设计虽然在文件中以逗号分隔变量来存储信息是一种在shell中很容易实现的方式,但是这样局限性很大,因为许多CD标题和曲目都包含逗号。可以通过使用dbm数据库来改进这种方法。将CD资料分为标题和曲目两个部分,并用不同的文件

2015-06-17 21:38:51 1598

原创 linux程序设计——数据库(第七章)

7.3 数据库这篇为linux的dbm数据库,代码在dbm数据库代码下载。可以使用文件来存储数据,为什么还需要数据库呢?因为在有些情况下,数据库的特性提供了解决问题的更好的办法。与使用文件来存储数据相比,使用数据库有如下两方面的优势:1.可以存储长度可变的数据记录,这对平面的、非结构化的文件来说实现起来有点困难2.数据库使用索引来有效地存储和检索数据。这样做的一个显著优点是这个索引不必

2015-06-16 21:26:55 877

原创 linux程序设计——文件锁定(第七章)

7.2 文件锁定这篇为linux的文件锁定,代码在文件锁定代码下载。文件锁定是多用户、多任务操作系统中一个非常重要的组成部分。程序经常需要共享数据,而这通常是通过文件来实现的。因此,对于这些程序来说,建立某种控制文件的方式就非常重要。只有这样,文件才可以通过一种安全的方式更新,或者说,当一个程序正在对文件进行写操作时,文件就会进入一个暂时状态,在这个状态下,如果另外一个程序尝试读这个文件,它就

2015-06-15 21:01:14 895

原创 linux程序设计——内存管理(第七章)

第七章    数据管理7.1    内存管理这篇为linux的内存管理,代码在内存管理代码下载。在所有计算机系统中,内存都是一种稀缺资源。linux为应用程序提供了一个简洁的视图,它能反映一个巨大的可直接寻址的内存空间,此外,linux还提供了内存保护机制,它避免了不同的应用程序之间的互相干扰。如果机器被正确配置并且有足够的交换空间,linux还允许应用程序访问比实际物理内存更大的内存空间

2015-06-14 20:56:38 707

原创 linux入门基础——linux软件管理基础:YUM

YUM软件管理YUM(yellowdog Updater,modified)是一个RPM的前端程序,主要的目的是设计用来自动解决RPM的依赖关系问题。其特点如下:自动解决依赖关系可以对RPM进行分组,并基于组进行安装操作引入仓库概念,支持多个仓库配置简单YUM引入了仓库的概念,仓库用来存放所有现有的rpm软件包,当使用rpm安装一个rpm软件时,如果存在依赖关系,会自动在仓

2015-06-13 14:58:06 919

原创 linux入门基础——linux软件管理RPM

因为linux入门基础是基于CentOS讲解的,讲的是CentOS上的软件包管理。ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理。linux软件管理:RPM软件包管理源代码形式绝大多数开源软件都是直接以源代码形式发布源代码一般会被打包成tar.gz的归档压缩文件程序源代码需要手动编译成二进制形式之后才能够运行使用源代码基本编译

2015-06-12 20:49:54 919

原创 linux入门基础——linux系统启动详解

linux系统启动详解系统启动流程1.BIOS(进行自检)2.MBR:Boot Code(磁盘分区机制,引导代码,此时已经到硬盘或者设备)3.执行引导程序-GRUB4.加载内核(kernel,此时操作系统的底层已经启动)5.执行Init(第一个进程,pid=1)6.runlevel1 BIOSBIOS(basic input output system)我们称之

2015-06-11 21:00:25 709 2

原创 linux无法连接wifi,不显示wifi

首先感谢 Ubuntu 无线网络连接WIFI(b43驱动出现DMA问题的解决,根据文章的命令找到了问题所在。1. dmesg | grep b43 (找到问题)dmesg用于检测和控制内核缓冲,帮助用户了解系统的启动信息。系统提示到Linux Wireless我们到这里下载firmware,我们直接点击Linux Wireless,打开之后我们发现它提醒说The old w

2015-06-10 18:00:59 12420

原创 linux给普通用户增加sudo权限

在超级用户模式下给普通用户增加sudo权限1. su -(进入root用户)2. chmod u+w /etc/sudoer3. vim /etc/sudoers在root ALL=(ALL) ALL下面添加 username ALL=(ALL) ALL (username是待增加权限的普通用户的用户名)4. chmod u-w /etc/sudoer

2015-06-10 17:09:44 1920

转载 linux吐核详解——详解coredump

谢谢大神,把吐核原因分析的很清楚,先转载部分,原文在这里 详解coredump。五,coredump产生的几种可能情况造成程序coredump的原因有很多,这里总结一些比较常用的经验吧: 1,内存访问越界  a) 由于使用错误的下标,导致数组访问越界。  b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符。  c) 使用st

2015-06-10 10:54:11 20726

原创 linux程序设计——linux环境(第四章)

4.5    用户信息这篇为linux环境,代码在linux环境代码下载。除了著名的init程序以外,所有的linux程序都是由其他程序或用户启动的。(内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程(其进程编号始终为1)。当一个用户登录进linux系统时,用户有一个用

2015-06-09 10:08:30 661

原创 linux程序设计——linux环境(第四章)

linux环境这篇为linux环境,代码在linux环境代码下载。当为linux编写程序时,必须考虑到程序将在一个多任务环境中运行。这意味着在同一时间会有多个程序运行,它们共享内存、磁盘空间和CPU周期等机器资源。甚至同一程序也会有多个实例同时运行。最重要的是,这些程序能够互不干扰,能够了解它们的环境,并且能够正确运行,不产生冲突。这章介绍程序运行的环境,程序如何通过环境来获得有关其运行条

2015-06-08 17:03:23 720

原创 linux入门基础——linux命令行文本处理工具

linux命令行文本处理工具文件浏览cat        查看文件内容more    以翻页形式查看文件内容(只能向下翻页)less    以翻页形式查看文件内容(可上下翻页)head    查看文件的开始10行(或指定行数)tail    查看文件的结束10行(或指定行数)基于关键字搜索命令grep用以基于关键字搜索文本-i        在搜索的时忽略大小写

2015-06-07 21:10:17 547

原创 linux入门基础——linux多命令协作:管道及重定向

linux多命令协作:管道及重定向不要重复发明轮子开源文化的核心理念之一就是不要重复发明轮子,很多的开源软件都是现有软件、代码、功能的重新组合,就好像通过零件装配机器一样,源代码的开发和共享让这成为了可能,同时也大大的提供了效率和生产力。管道和重定向在linux系统中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或者多个很简单的功能,可以通过将不同功能的命令组

2015-06-07 18:40:30 648

原创 linux入门基础——linux网络配置

linux网络配置以太网连接在linux中,以太网接口被命名为:eth0、eth1等,0、1代表网卡编号通过lspci命令可以查看网卡硬件信息(如果是usb网卡,则需要使用lsusb命令)命令ifconfig用来查看接口信息ifconfig -a    查看所有接口ifconfig 接口名字eth0    查看特定接口的信息命令ifup、ifdown用来启用、禁用一个接

2015-06-07 15:39:32 644

原创 linux入门基础——网络基础

linux网络基础网络原理网络编址IP编址IP编址是一个双层编址方案,一个IP地址标识一个主机(或者一个网卡接口)现在应用最为广泛的Ipv4编址,已经开始逐渐向Ipv6编址切换Ipv4地址为32位长,Ipv6地址为128位长一个Ipv4地址分为两个部分:网络部分和主机部分网络部分用来标识所属区域、主机部分用来标识该区域中的哪个主机IP地址Ipv4地址分为32

2015-06-07 13:37:17 710

原创 linux入门基础——linux扩展权限

linux扩展权限linux的默认权限和特殊权限创建一个文件:touch filename1查看新文件的默认权限:ls -l filename1-rw-rw-r-- 1 liu liu 0  6月  7 09:33 file1创建一个文件夹:mkdir filename2查看新文件夹的默认权限L:ls -ld filename2drwxrwxr-x 2 liu liu

2015-06-07 10:08:38 969

原创 linux入门基础——linux权限机制

linux权限机制权限权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户以及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。每个进程都以某个用户的身份运行,所以进程的权限与用户的权限一样,用户的权限越大,该进程拥有的权限越大。文件权限linux中,每个文件拥有三种权限:权限        对

2015-06-06 20:55:08 1154

原创 linux程序设计——文件操作(第三章)

上篇是文件操作(第三章上),文章中的代码在文件操作(代码下载)。3.6 格式化输出和输入3.6.1 printf、fprintf和sprintf函数printf函数能够对各种不同类型的参数进行格式化编排和输出。每个参数在输出流中的表示形式由格式化参数format控制,它是一个包含需要输出的普通字符和转换控制符代码的字符串。#include int printf(const

2015-06-05 16:03:32 742

原创 linux程序设计——文件操作(第三章)

第三章    文件操作3.1 linux文件结构与UNIX一样,linux环境中的文件具有特别重要的意义,因为它们为操作系统服务和设备提供了一个简单而一致的接口。在linux中,一切都是文件。这意味着,通常程序可以像使用文件那样使用磁盘文件、串行口、打印机等等。目录也是文件,但它是一种特殊类型的文件。在现代UNIX(包括linux)版本中,即使是超级用户可能也不再被允许直接对目录进

2015-06-04 18:08:15 1133

原创 vim快捷键(简洁版)

vim快捷键,为了防止过于繁琐,只写自己常用的,后续补充。1.打开文件vim + file    从文件的末尾开始。vim +num file    从第num行开始。vim +/str file    打开file,并将光标停留在第一个找到的str上。:e file        关闭当前编辑的文件,并开启新的文件。:e+file        开始新的文件,并从文件尾开

2015-06-04 11:39:17 656

转载 vim快捷键

非常感谢原文最全的vim快捷键,转载过来方便查找和记笔记,常用的就加重。1. 关于Vimvim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh

2015-06-04 10:12:54 580

原创 linux入门基础——linux用户基础

linux用户基础用户,组当我们使用linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或者进程可以使用,不可以使用哪些资源。用户的实质就是用来限制的。组用来方便管理组织管理用户。每个用户都拥有一个UserID,操作系统实际使用的是用户ID,而非用户名每个用户属于一个主组,属于一个或者多个附属组每个组拥有一个GroupID每个进

2015-06-03 21:36:46 673

原创 linux程序设计——shell程序设计(第二章)

这部分是shell的命令与命令的执行2.6.5    命令在shell脚本程序内部可以执行两类命令。一类是可以在命令提示符中执行的"普通"命令,也成为外部命令,一类是"内置"命令,也成为内部命令。内置命令是在shell内部实现的,它们不能作为外部程序被调用。然后,大多数的内部命令同时也提供了独立运行的程序版本,这是POSIX规范的一部分。1.break命令在控制条件未满足之前,跳出

2015-06-02 21:35:58 1270

原创 linux程序设计——shell程序设计(第二章)

这篇介绍shell的语法,包括shell中的变量,条件判断,控制结构和函数。此外,这篇的所有命令都在变量条件控制结构函数。下一篇是命令和命令的执行。Shell的语法条件所有程序设计语言的基础都是对条件的进行测试判断,并根据不同测试结果采取不同行动。一个shell脚本能够对任何可以从命令行上调用的命令的退出码进行测试,其中也包括自己编写的脚本程序。这也就是要在所有自己编写的脚本程序的

2015-06-02 16:49:20 995

原创 linux程序设计——shell程序设计(第二章)

第二章    shell程序设计本章介绍以下内容:什么是shell基本思路微妙的语法:变量,条件判断和程序控制命令列表函数命令和命令的执行here文档调试grep命令和正则表达式find命令shell执行shell程序,这些程序通常称为脚本,它们是在运行时解释执行的。这使得调试工作比较容易进行,因为可以逐行地执行指令,而且节省了重新编译的时间

2015-06-01 20:22:36 1125

linux环境代码下载

linux程序设计——linux环境(第四章)

2015-06-09

文件操作代码下载

linux程序设计——文件操作(第三章)

2015-06-05

命令命令的执行

linux程序设计—shell程序设计(第二章)

2015-06-03

shell程序设计——变量

linux程序设计—shell程序设计(第二章)

2015-06-02

shell程序设计-变量条件控制结构函数

linux程序设计——shell程序设计(第二章)中的shell语法

2015-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除