Korzystam z Cliona.
Kompletnie nie wiem co się stało, z mojej perspektywy wyglądało to tak, wszystko działało jak należy po czym dopisałem jednego printf'a w funkcji całkowicie niezależnej i program się posypał.
Kod z funckją execl.
if (execl(nazwa, argument1, argument2, NULL) == -1)
{
perror("EXECL error");
exit(-1);
}
Więc ona nie zgłasza błędu.
Mój CMakeList.txt
cmake_minimum_required(VERSION 3.9)
project(untitled11 C)
set(CMAKE_C_STANDARD 99)
set(SOURCE_FILES_MAIN main.c includes.h semafory.h semafory.c zapis.h zapis.c)
set(SOURCE_FILES_P1 p1.c includes.h semafory.h semafory.c zapis.h zapis.c)
set(SOURCE_FILES_P2 p2.c includes.h semafory.h semafory.c zapis.h zapis.c)
set(SOURCE_FILES_P3 p3.c includes.h semafory.h semafory.c zapis.h zapis.c)
add_executable(main.out ${SOURCE_FILES_MAIN})
add_executable(p1.out ${SOURCE_FILES_P1})
add_executable(p2.out ${SOURCE_FILES_P2})
add_executable(p3.out ${SOURCE_FILES_P3})
Program p1.
int main(int argc, char **argv)
{
if (argc != 2)
{
printf("[PROCESS 1] Error with argc\n");
exit(1);
}
Podczas Build All | Debug
wyświetla się:
[PROCESS 1] Error with argc
Process finished with exit code 1
co oznaczało by, że program p1 nie dostaje argumentu w tym przypadku argument2.
Jak wcześniej pisałem nic nie modyfikowałem przy tej funkcji ani p1 ani CMakeList i działało. Ktoś miał może podobny problem albo potrafi pomóc?