Selaa lähdekoodia

feat: 增加初始化函数

SongZihuan 4 vuotta sitten
vanhempi
sitoutus
ea49ad3e45

+ 2 - 1
VirtulMathCore/include/__virtualmath.h

@@ -24,7 +24,7 @@
 #include "grammar.h"
 
 #if DEBUG
-/* DEBUG */
+/* DEBUG所使用的函数 */
 void printGC(Inter *inter);
 void printLinkValueGC(char *tag, Inter *inter, long *tmp_link, long *st_link);
 void printValueGC(char *tag, Inter *inter, long *tmp_link, long *st_link);
@@ -32,4 +32,5 @@ void printVarGC(char *tag, Inter *inter);
 void printHashTableGC(char *tag, Inter *inter, long *tmp_link);
 void printTokenStream(TokenStream *ts);
 #endif
+
 #endif //VIRTUALMATH___VIRTUALMATH_H

+ 3 - 0
VirtulMathCore/include/macro.h

@@ -12,6 +12,9 @@
 #include <setjmp.h>
 #include <signal.h>
 #include <unistd.h>
+#include <wchar.h>
+#include <locale.h>
+
 #ifdef __linux__
 #include <dlfcn.h>
 #else

+ 2 - 0
VirtulMathCore/include/virtualmath.h

@@ -14,4 +14,6 @@
 #include "inter.h"
 #include "run.h"
 
+bool initVirtualMath();
+
 #endif //VIRTUALMATH_VIRTUALMATH_H

+ 6 - 0
VirtulMathCore/src/virtualmath.c

@@ -0,0 +1,6 @@
+#include "virtualmath.h"
+
+bool initVirtualMath() {
+    setlocale(LC_ALL, "zh_CN.UTF-8");
+    return true;
+}

+ 2 - 0
main.c

@@ -14,10 +14,12 @@ int main(int argc, char *argv[]) {
     if (getArgs(argc, argv))
         return 2;
 
+    initVirtualMath();
     inter = makeInter(args.out_file, args.error_file, args.in_file, NULL);
     runCodeFile(inter, argv + optind);
     if (args.run_commandLine)
         runCodeStdin(inter, HelloString);
     freeInter(inter, true);
+
     return 0;
 }