遵循本教程:
http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/
它有3个文件,其中2个是.c文件,1个.h文件.本教程是关于设置makefile的,前几步是有效的.最后一步涉及为.h和.c文件设置目录路径.我已将.c文件放在src文件中,并将.h文件放在包含文件中.
它看起来像/home/bob/testcode/src< - 包含.c文件.
并且/home/bob/testcode/include< - 包含.h文件.
码:
IDIR =../include
CC=gcc
CFLAGS=-I$(IDIR)
ODIR=obj
LDIR =../lib
_DEPS = hellomake.h
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))
_OBJ = hellomake.o hellofunc.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
$(ODIR)/%.o: %.c $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
hellomake: $(OBJ)
gcc -o $@ $^ $(CFLAGS)
.PHONY: clean
clean:
rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~
Run Code Online (Sandbox Code Playgroud)
我想了解它是如何工作的,然后在我正在使用的库上使用它.有人可以指点我如何设置此代码?我已经尝试了很多选择"/home/bob/testcode/include/"W …
我看到过类似的问题如下:
struct sockaddr_un v/s sockaddr - C(Linux)
但我仍然很不清楚 sockaddr_in 和 sockaddr 之间有什么区别,每个套接字方法/函数(即绑定、连接)似乎使用 sockaddr 而不是 sockaddr_in,这些结构可以互换吗?如果只使用 sockaddr 那么为什么会有 _in 呢?我更喜欢 _in 看起来更详细和排序。
如果我违反了任何规则,请删除该帖子;(
大多数时候第三个参数是addr_len,它是用来快速区分ipv4和ipv6的吗?