Sfoglia il codice sorgente

update & fix: vmcore编译成动态库

修复: vmcore/file/file_.c文件和file.c文件重复, 删除了file_.c

link #16
SongZihuan 4 anni fa
parent
commit
71a0d5e7e4
3 ha cambiato i file con 4 aggiunte e 58 eliminazioni
  1. 3 1
      CMakeLists.txt
  2. 1 1
      vmcore/CMakeLists.txt
  3. 0 56
      vmcore/file/file_.c

+ 3 - 1
CMakeLists.txt

@@ -28,5 +28,7 @@ MESSAGE("project dir is ${PROJECT_SOURCE_DIR}")
 MESSAGE("cmake file in is ${CMAKE_CURRENT_SOURCE_DIR}")
 
 ADD_SUBDIRECTORY(${PROJECT_SOURCE_DIR}/vmcore)
+LINK_DIRECTORIES(${vmcore_BINARY_DIR})  # 添加vmcore的构建目录为寻找lib的目录
+MESSAGE("vmcore on ${vmcore_BINARY_DIR}")
+LINK_LIBRARIES(vmcore)
 ADD_EXECUTABLE(VirtualMath main.c ${SRC_LIST} ${ARGUMENT_LIST})
-TARGET_LINK_LIBRARIES(VirtualMath vmcore)

+ 1 - 1
vmcore/CMakeLists.txt

@@ -18,7 +18,7 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/clib CLIB_LIST)
 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/signalhandler HANDLER_LIST)
 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/md5 MD5_LIST)
 
-ADD_LIBRARY(vmcore STATIC ${SRC_LIST} ${GC_LIST} ${PASER_LIST} ${MEM_LIST} ${FILE_LIST} ${ARGUMENT_LIST} ${OFUNC_LIST} ${HANDLER_LIST} ${CLIB_LIST} ${MD5_LIST})
+ADD_LIBRARY(vmcore SHARED ${SRC_LIST} ${GC_LIST} ${PASER_LIST} ${MEM_LIST} ${FILE_LIST} ${ARGUMENT_LIST} ${OFUNC_LIST} ${HANDLER_LIST} ${CLIB_LIST} ${MD5_LIST})
 TARGET_LINK_LIBRARIES(vmcore m)
 IF (NOT (${CMAKE_SYSTEM_NAME} STREQUAL "Windows"))
     TARGET_LINK_LIBRARIES(vmcore ffi)

+ 0 - 56
vmcore/file/file_.c

@@ -1,56 +0,0 @@
-#include "__virtualmath.h"
-
-/**
- * @param dir 文件地址
- * @return 0-错误, 1-普通文件, 2-目录
- */
-int checkFileReadble(char *dir){
-    struct stat my_stat;
-    int status;
-    if (dir == NULL)
-        return 3;
-    status = stat(dir, &my_stat);
-    if (status != 0)
-        return 3;
-    else if (S_ISREG(my_stat.st_mode))  // 普通文件
-        return 1;
-    else if (S_ISDIR(my_stat.st_mode))
-        return 2;
-    else
-        return 3;
-}
-
-char *splitDir(char * dir){
-    char *slash = NULL;
-    char *point = NULL;
-    char *return_char = NULL;
-
-#ifdef __unix__
-    if (dir[memStrlen(dir) - 1] == '/')
-#else
-    if (dir[memStrlen(dir) - 1] == '\\')
-#endif  // __unix__
-    { dir[memStrlen(dir) - 1] = NUL; }
-
-#ifdef __unix__
-    if ((slash = strrchr(dir, '/'))  == NULL)
-#else
-        if ((slash = strchr(dir, '\\'))  == NULL)
-#endif  // __unix__
-    { slash = dir; }
-    else
-        slash ++;
-
-    if ((point = strchr(dir, '.'))  != NULL)
-        *point = 0;
-
-    return_char = memStrcpy(slash);
-    if (point != NULL)
-        *point = '.';
-    if (!isalpha(*return_char) && *return_char != '_')
-        return_char = memStrcat("_", return_char, false, true);
-    for (char *tmp = return_char; *tmp != 0;tmp++)
-        if (!isalnum(*tmp) &&'_' != *tmp)
-            *tmp = '_';
-    return return_char;
-}