Так что я не могу показаться, чтобы получить этот простой указатель на функцию запуска без SEG вызвавшего отказВызов функции указатель передается в другую функцию
Вот что я работаю с:
test.c:
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
typedef void (*lwpfun)(void *);
static void indentnum(void * num);
int main(int argc, char *argv[]){
lwp_create((lwpfun)indentnum,(void*)42);
return 0;
}
static void indentnum(void *num) {
printf("Indent num: %d\n", *(int *)num);
}
lwp.c
#include "stdio.h"
#include <stdlib.h>
void lwp_create(void (*lwpfun)(void *), void *arg){
(*lwpfun)(arg); //Seg faulting
}
Назначение литералов указателям почти никогда не является хорошей идеей. – Downvoter
Почему вы накладываете первый аргумент на 'lwp_create()'? Почему все эти броски вообще? –