BUILT_DIR = /tmp/obj
SRC = /source/dir
/tmp/obj/%/builtin.o : $(SRC)/%/*.c
gcc $^ -o $@
Run Code Online (Sandbox Code Playgroud)
但你知道:
为了应用模式规则,其目标模式必须与考虑中的文件名匹配,并且其所有先决条件(模式替换后)必须命名存在或可以创建的文件。
如果我执行make /tmp/obj/hfa/builtin.o,make 会抱怨:
make: *** No rule to make target/tmp/obj/hfa/builtin.o'。停止。`
如何修改 Makefile 以满足我的要求?
void * thread_client_timeout_check(void *arg)
{
pthread_attr_t attr;size_t size;
pthread_attr_init(&attr);
pthread_attr_getstacksize(&attr, &size);
printf("pthread stacksize: %d\n", size);
malloc(1);
}
Run Code Online (Sandbox Code Playgroud)
主线程创建子线程并暂停。
int main()
{
pthread_t pid;
pthread_create(&pid, NULL, thread_client_timeout_check, NULL);
pause();
}
Run Code Online (Sandbox Code Playgroud)
pthread_create,top virt是0.3mpthread_create, top virtis 8.3m(pthread 堆栈大小为 8m)malloc(1),top virt是72.3m为什么malloc(1)会54m从内核获取虚拟内存?