易截截图软件、单文件、免安装、纯绿色、仅160KB

高级Linux程序设计第二章:编写良好的Linux软件

1、同运行环境交互
1.1、命令行
当一个程序从shell启动的时候,其参数列表包括程序名称及所有的命令行参数
% ls -s /
其参数列表包含三项:
第一项是程序名称ls,第二项和第三项分别是两个命令行参数,-s和/
main函数可以通过argc和argv两个参数来访问命令行参数列表:argc是命令行参数的个数,argv是命令行参数字符串指针所组成的数组
#include
int main (int argc, char* argv[])
{
    printf (“The name of this program is ‘%s’.\n”, argv[0]);
    printf (“This program was invoked with %d arguments.\n”, argc - 1);
    /* Were any command-line arguments specified? */
    if (argc > 1) {
        /* Yes, print them. */
        int i;
        printf (“The arguments are:\n”);
        for (i = 1; i < argc; ++i)
            printf ("%s\n", argv[i]);
    }
    return 0;
}
命令行参数分两类:选项和参数
选项有两种格式:
短格式:包括一个连字符和一个字母。短格式选项有利于用户的尽快输入。
长格式:包括两个连字符,及一个有小写字母,大写字母及连字符组成的选项名称。长格式选项更易记易读。
短格式
长格式
目的
-h
--help
显示用法概要
-o filename
--output filename
指定输出文件名
-v
--verbose
打印详细信息
函数getopt_long可以解析短格式和长格式的选项
Include .
提供两个数据结构
第一个数据结构一是一个字符串,包含所有的短格式选项,每个选项一个字母。需要跟一个参数的选项后面有一个冒号。char* const short_options = “ho:v”;
第二个数据结构是一个option结构体组成的数组。数组中的每一项对应一个长选项,包括四个域:
第一个域是长选项的名称
第二个域表示此选项是否需要跟一个参数
第三个域是NULL
第四个域是一个字符,是此长选项对应的短选项
数组的最后一项为四个域都是0的项
const struct option long_options[] = {
{ “help”, 0, NULL, ‘h&rs


相关文档:

LINUX下挂载usb

一早上都是弄在LINUX下挂载usb,很无语,几乎找遍了所有网上人家介绍的方法,可对于一个新手来说,他们大都讲的不清楚不楚,最后还是觉得这个比较方法比较成功,所以贴出来大家分享,说不定以后还能用得到
1.USB移动存储设备通常被识别为sda1,具体可以通过fdisk -l命令查询。一般外挂点的子目录都是建立在/mnt里面的 使用 ......

在linux gcc 64位平台编译动态链接库时出现的问题

在32位平台上编译动态库没有啥问题,拿到x86_64位平台上编译时出现了问题。
relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
照着提示编译代码的时候加入 -fPIC选项就ok.
......

Linux下配置SVN Server(二)

在一中已经说明了在linux下配置SVN server的主要步骤,如果软件依赖没有问题的话应该已经安装成功了,下面就是配置的问题了。首先要确定subversion的两个模块是不是正确的安装到了apache下,可以在apache的一个配置文件中看到,该配置文件在apache的安装目录下 /conf/httpd.conf
在httpd.conf下面会有两行:
LoadModul ......

实例解析linux内核I2C体系结构

一、概述
谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个
普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。
第一种方法的好处(对应第二种方法的劣势)有:
        ●  &nbs ......

Linux PCI驱动的编写

PCI是外围设备互联的简称(Peripheral Component
Interconnect)的简称,作为一种通用的总线接口标准,他在计算机系统中得到了广泛的使用。PCI的速度能够达到132M/s。在这里简单的介
绍一下 linux 下PCI驱动的实现。
在编写一个PCI驱动的时候我们先得确定系统中是否有我们的设备。我们可以通过lspci
查看PCI设备。
[roo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号