首页 > 代码库 > 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环境高级编程