ubuntu桌面版 通过U盘引导安装iso 安装完成后 进行socket开发,发现好多网络开发文件的.c源文件都不见了

编译打包和其他
回复
nmvbxcz123
帖子: 3
注册时间: 2016-10-31 13:22
系统: ubuntu 16.04

ubuntu桌面版 通过U盘引导安装iso 安装完成后 进行socket开发,发现好多网络开发文件的.c源文件都不见了

#1

帖子 nmvbxcz123 » 2016-10-31 13:27

不知道是我的安装方式不对 还是说 版本没有选对,/usr/src/下面的都是linux-head-XXX什么的,里面虽然文件夹都有,但是里面没有一个.c文件,现在编译程序时显示找不到相关的.c文件
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: ubuntu桌面版 通过U盘引导安装iso 安装完成后 进行socket开发,发现好多网络开发文件的.c源文件都

#2

帖子 vickycq » 2016-10-31 14:23

nmvbxcz123 写了:现在编译程序时显示找不到相关的.c文件
将相关的提示全部复制贴上来,不要节选
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
nmvbxcz123
帖子: 3
注册时间: 2016-10-31 13:22
系统: ubuntu 16.04

Re: ubuntu桌面版 通过U盘引导安装iso 安装完成后 进行socket开发,发现好多网络开发文件的.c源文件都

#3

帖子 nmvbxcz123 » 2016-10-31 15:08

vickycq 写了:
nmvbxcz123 写了:现在编译程序时显示找不到相关的.c文件
将相关的提示全部复制贴上来,不要节选
就是/usr/src/下面没有源码
nmvbxcz123
帖子: 3
注册时间: 2016-10-31 13:22
系统: ubuntu 16.04

Re: ubuntu桌面版 通过U盘引导安装iso 安装完成后 进行socket开发,发现好多网络开发文件的.c源文件都

#4

帖子 nmvbxcz123 » 2016-10-31 15:51

nmvbxcz123 写了:
vickycq 写了:
nmvbxcz123 写了:现在编译程序时显示找不到相关的.c文件
将相关的提示全部复制贴上来,不要节选
就是/usr/src/下面没有源码

代码: 全选

#include <linux/if_ether.h>
#include <netinet/in.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <malloc.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <stdarg.h>
#include <fcntl.h>
#include <fcntl.h>


#define BUFFER_MAX 2048

int main(int argc, char *argv[]){

int  SOCKET_SRC;

char buf[BUFFER_MAX];

int n_rd;
int i = 10;

if( (SOCKET_SRC = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))) < 0 ){

fprintf(stderr, "create socket error.\n");

exit(0);

}

while(i--){

n_rd = recvfrom(SOCKET_SRC, buf, BUFFER_MAX, 0, NULL, NULL);

if (n_rd<46) {

perror("recvfrom():");

printf("Incomplete packet (errno is %d)\n",  errno);

close(SOCKET_SRC);

exit(0);

}

printf("recv: %s\n", buf);

close(SOCKET_SRC);

return 0;

}

代码: 全选

24	int main(int argc, char *argv[]){
(gdb) n
31	int i = 10;
(gdb) s
33	if( (SOCKET_SRC = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))) < 0 ){
(gdb) s
htons (x=2048) at htons.c:29
29	htons.c: No such file or directory.
(gdb) 
不知道为什么直接显示htons这个文件不存在
回复