From 797bfa45eb8ff75de1ffaf9ae4ddb46a2fcd35e9 Mon Sep 17 00:00:00 2001 From: nilspolek Date: Tue, 23 Jan 2024 21:44:03 +0100 Subject: [PATCH] corrected CMakeLists.txt --- CMakeLists.txt | 17 ++++++++++++++--- njvm.c | 2 ++ njvm.o | Bin 51784 -> 52128 bytes 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f1186eb..a010125 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,18 @@ set(CMAKE_C_STANDARD 99) add_compile_options(-g -Wall -pedantic) -include_directories("./bigint/build/include") +add_executable(njvm njvm.c) + +# Include directories for njvm executable +target_include_directories(njvm PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/bigint/build/include) + +# Add the library +add_library(bigint STATIC ${CMAKE_SOURCE_DIR}/bigint/src/bigint.c + support.c) + +# Include directories for the bigint library +target_include_directories(bigint PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bigint/build/include) + +# Link the executable with the library +target_link_libraries(njvm PRIVATE bigint) -add_executable(ninja njvm.c - SDA.c) diff --git a/njvm.c b/njvm.c index 04168b7..2069520 100644 --- a/njvm.c +++ b/njvm.c @@ -43,6 +43,7 @@ void execute(struct program program) { ObjRef tempObj2; int tempInt; for (i = 0; i < *program.size; ++i) { + printf("Program ist an der stelle %i\n", i); if (debug == 1) debugMenu(fp, stack, &debug, i); switch (program.program[i] >> 24) { case HALT: @@ -276,6 +277,7 @@ void execute(struct program program) { tempObj = pop(stack).u.objRef; tempObj2 = pop(stack).u.objRef; bip.op1 = pop(stack).u.objRef; + bigPrint(stdout); tempInt = bigToInt(); setField(tempObj2, tempInt,tempObj); break; diff --git a/njvm.o b/njvm.o index 7e95bbc808234f336dbc7acd24a8e1edce8b4742..91dedc93f7dde20b6e252b662d89452c56fa2de4 100644 GIT binary patch delta 19828 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 WWZBR*>6IWF{PPcu!EJv$;r{>@=8nk#