首页 > 代码库 > Unix环境高级编程

Unix环境高级编程

1、  windows下编辑的程序怎么上传到linux下执行?

//Service vsftpd status查看linux ftp服务是否开启;

Linuxi ip:192.168.40.128

打开Ssh secure shell client

Windows dos窗口 cmd Ping 192.168.40.128(给linux发送一个cmcp数据包,查一下两个系统是否已建立连接)

用到的Shell指令:ps、pwd、clear、touch test.c、vi  test.c、ls、gcc test.c、./a.out、rm test.c、

打开New file transfer window,把windows上的.c文件拖到linux上。Gcc即可。

2、  执行1—5程序时,提示:error:ourhdr.h: No such file or directory

#include “ourhdr.h”      用双引号包涵的是用户自定义的头文件

看书应该先看出版说明,再看序言,再看目录,再大致翻一下附录,最后才看正文,明白了吗?

书的最后面有 ourhdr.h 的源代码,你自己把它输入到你的电脑中,就 OK 了。

3、  在SSH终端上编译出现乱码,在虚拟客户端直接编译,提示:no such file or directory:

不在同一个路径底下。编译器在当前路径底下没有找到文件。需进入文件所在路径在进行编译。或者gcc可以在其他路径下编译,要带着编译文件的路径。

4、  常数SSIZE_MAX 要求必须包含在头文件<limits.h>中,其最小值是POSIX_SSIZE_MAX=32767(_POSIX_SSIZE_MAX是能存在ssize_t对象中的值)

基本系统数据类型,是定义在头文件<sys/types.h>中与实现有关的数据类型;这些数据类型都是用C的typedef设施来定义的。

基本系统数据类型:size_t,表示对象(例如字符串)的长度(不带符号);

基本系统数据类型:ssize_t,返回字节计数的函数(带符号的)(read,write);

5、  在ANSI C中,void *用于表示类属指针;

6、  对UNIX内核而言,文本文件和二进制代码文件并没有区别。

7、  头文件<Unistd.h>中定义了两个名字:STDIN_FILENO(表示标准输入,很多应用程序用文件描述符0表示标准输入),STDOUT_FILENO(表示标准输出,很多应用程序用文件描述符1来表示标准输出);

8、  Ssize_t read(int filedes, void *buf, size_t nbytes)成功返回读到的字节数,到文件结尾 0,出错返回-1.第三个参数是一个不带符号的整数,以允许一个16位的实现可以一次读或写至65534个字节。

9、  Off_t lseek(int filedes, off_t offset, int whence);可以调用lseek定位的显示一个打开文件。基本系统数据类型:Off_t表示文件长度和位移量(带符号的)

10、              配置文件.conf与文本文件.txt的区别。

程序读取.conf文件内容如下:

$3 = "shi jian shi zi li geng sheng.\n\377\377\377\377\377\377\377\377\377\377", ‘\000‘ <repeats 4054 times>

程序读取.txt文件内容如下:

$3 = "shi jian shi zi li geng sheng yu dui wai kai fang de tong", ‘\000‘ <repeats 4038 times>

11、              单步调试时,for循环不出来。

程序如下:

if((fn=fopen(fname,"r"))!=NULL)

        {

            send_buf[0]=fgetc(fn);

            for(i=1;send_buf[i]!=EOF;i++)

            {

                send_buf[i]=fgetc(fn);

            }

 

Unix环境高级编程