精华内容
下载资源
问答
  • Linux下C/C++一个工程中多个main函数的Makefile文件的写法
    千次阅读
    2019-10-10 23:24:35

    测试基于Ubuntu16.04 Eclipse for C/C++

    参考链接:链接

     

    适用于:在一个Project中,有多个*.cpp/*.c文件,多个文件中同时含有main函数。处于方便考虑,在Makefile文件中,目标可执行文件的依赖项,包含了所有源文件编译生成的*.o文件。这样的话,在编译的时候,就会产生main函数重复定义的错误。

     

    例如,在一个Project中,有main.cpptest.cpp两个源代码文件,位于src目录下,每一个文件中都有一个main函数,分别用于生成两个不同的目标可执行文件MainTest。为了方便,在Makefile文件中是这样写的:

    1

    2

    3

    4

    5

    6

    7

    OBJ=./src/main.o ./src/test.o

     

    Main:${OBJ}

        ${CXX} ${OBJ} $(LIBS) -o $@

     

    Test:${OBJ}

        ${CXX} ${OBJ} $(LIBS) -o $@

    这样的话,在生成目标可执行文件Main或者Test时,均会对两个*.o文件的内容进行分析、链接,导致产生main函数重复定义的错误。

     

    为了解决上述问题,使用了Makefile的条件编译功能。

    在C/C++源代码中,main函数用#ifdef#endif包含起来,例如:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    #ifdef TEST_

     

    int main() {

        system("/home/xingyu/Desktop/test.sh abc");

     

        return 0;

    }

     

    #endif

    上述例子中的宏"TEST_",不在C/C++源代码中定义,而是在调用GCC/G++编译器时,通过参数"-D TEST_"定义。对于不同的目标文件,用不同的宏将对应的main函数包含起来,再在调用时分别加入不同的"-D xxxxx"参数即可。

     

    对于Makefile文件,可以用以下方式来处理:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    CXXFLAGS = -c -O2 -g -Wall -fmessage-length=0 -I ${INC_DIR}

     

    ifeq ($(TARGET),Test)

        CXXFLAGS += -D TEST_

    endif

     

    ifeq ($(TARGET),Main)

        CXXFLAGS += -D MAIN_

    endif

    其中CXXFLAGSGCC/G++在编译时的一系列参数,TARGET可以在执行make命令的时候定义。例如,要编译生成目标"Test",可以执行命令"make TARGET=Test Test"命令,之后通过Makefile文件中的"ifdef"语句就可以正确的生成CXXFLAGS

     

    测试Project的目录结构如下:

    共有5个文件夹,incsrc中分别是头文件和源代码文件,doc中是一些说明文档,obj中是生成的*.o文件,bin中是生成的目标可执行文件。其中,main.cpptest.cppWaterCurtain.cpp三个文件中均含有main函数。

     

    Project的完整Makefile文件内容如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    118

    119

    120

    121

    122

    123

    124

    125

    126

    127

    128

    129

    130

    131

    132

    133

    134

    135

    136

    137

    138

    139

    140

    141

    142

    143

    144

    145

    146

    147

    148

    149

    150

    151

    152

    153

    154

    155

    156

    157

    158

    159

    160

    161

    162

    163

    164

    165

    166

    167

    168

    169

    170

    171

    172

    173

    174

    175

    176

    177

    178

    179

    180

    181

    CXXFLAGS = -c -O2 -g -Wall -fmessage-length=0 -I ${INC_DIR}

     

     

     

    ifeq ($(TARGET),WaterCurtain)

     

        CXXFLAGS += -D WATERCURTAIN_

     

    endif

     

     

     

    ifeq ($(TARGET),Main)

     

        CXXFLAGS += -D MAIN_

     

    endif

     

     

     

    ifeq ($(TARGET),Test)

     

        CXXFLAGS += -D TEST_

     

    endif

     

     

     

    LIBS =

     

     

     

    INC_DIR=./inc

     

    BIN_DIR=./bin

     

    SRC_DIR=./src

     

    OBJ_DIR=./obj

     

     

     

    SRC=${wildcard ${SRC_DIR}/*.cpp}

     

    OBJ=${patsubst %.cpp,$(OBJ_DIR)/%.o,${notdir ${SRC}}}

     

     

     

     

     

    TARGET=WaterCurtain Test Main

     

     

     

    BIN_TARGET=${BIN_DIR}/${TARGET}

     

     

     

     

     

    ${BIN_TARGET}:${OBJ}

     

        @echo "building " $@

     

        @${CXX} ${OBJ} $(LIBS) -o ${BIN_TARGET}

     

        @echo "finished " $@

     

     

     

    WaterCurtain:${BIN_DIR}/WaterCurtain

     

     

     

    Test:${BIN_DIR}/Test

     

     

     

    Main:${BIN_DIR}/Main

     

          

     

     

     

    ${OBJ_DIR}/%.o:${SRC_DIR}/%.cpp

     

        @echo "building " $@ 

     

        @${CXX} ${CXXFLAGS} $< -o $@

     

        @echo "finished " $@

     

     

     

    clean_All:

     

        @echo "cleaning......"

     

        @rm -f $(OBJ) $(BIN_TARGET)

     

        @echo "finished cleaning"

     

     

     

    clean_obj:

        @echo "cleaning obj files......"

        @rm -f $(OBJ)

        @echo "finished cleaning obj files"

     

     

     

     

    clean_WaterCurtain:

     

        @echo "cleaning WaterCurtain......"

     

        @rm -f ${BIN_DIR}/WaterCurtain

     

        @echo "finished cleaning WaterCurtain"

     

          

     

    clean_Test:

     

        @echo "cleaning Test......"

     

        @rm -f ${BIN_DIR}/Test

     

        @echo "finished cleaning Test"

     

     

     

    clean_Main:

     

        @echo "cleaning Main......"

     

        @rm -f ${BIN_DIR}/Main

     

        @echo "finished cleaning Main"

     

     

     

     

     

     

     

    #$@:目标的名字

     

    #

     

    #$^:构造所需文件列表所有所有文件的名字

     

    #

     

    #$<:构造所需文件列表的第一个文件的名字

     

    #

     

    #$?:构造所需文件列表中更新过的文件

     

     

     

    #$(subst 要被替换的字符串,用来替换的字符串,被处理的字符串):

     

    #

     

    #$(wildcard 寻找的文件):

     

    #

     

    #$(basename 文件名):

     

     

     

    #用于查看变量的值

     

    #test:

     

    #   echo $(SRC)

     

    #   echo $(OBJ)


    注意:在编译与上一个目标文件不同的目标文件时,需要先删除所有*.o文件。

     

    例如,上一次编译的是Test,现在想要编译Main,则需要先清楚所有的*.o文件,否则会导致错误。因为在编译Test的时候,由于宏定义的作用,会将test.cpp中的main函数编译生成test.o文件,而main.cpp中的main函数会被忽略,生成main.o文件。在编译新目标文件Main时,如果test.cpp文件没有发生更改,那么test.o文件就不会被重新编译,这样的话test.o文件中事实上是包含了main函数的,由于没有对test.cpp文件进行重新编译,因此在编译Main时,声明的宏定义没有起作用。如此一来,就会再次出现main函数重复定义的错误。如果不想删除所有的*.o文件,则需要确保在编译Test之后Main之前,test.cppmain.cpp两个源代码文件均已经进行了修改,这样新的宏定义才会生效。

     

     

    哪里有看不懂的地方,可以发邮件询问:2509673789@qq.com。

    更多相关内容
  • 注意是新建项目而不是新建项 完成后一个解决方案中两个项目 在需要的项目中的源文件夹...同一个项目中源文件只能运行一个main函数 先自己写然后运行自己的 然后将自己写的注释掉留y总的 也可以: 看个人习惯 ...

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注意是新建项目而不是新建项
    在这里插入图片描述
    完成后一个解决方案中有两个项目
    在需要的项目中的源文件夹中添加.cpp文件

    当需要运行哪个案例时:
    在这里插入图片描述
    在这里插入图片描述
    将要运行的项目设置为启动项即可

    总结:

    在这里插入图片描述
    将解决方案看成大标题
    其中每个项目看作一题
    同一个项目中源文件只能运行一个main函数
    先自己写然后运行自己的
    然后将自己写的注释掉留y总的

    也可以:
    在这里插入图片描述
    在这里插入图片描述
    看个人习惯

    展开全文
  • 现象:在一工程中2有main函数的文件:InsertSort.cpp,ShellSort.cpp InsertSort.cpp 1 #include <stdio.h> 2 3 void InsertSort(int A[],int n) 4 { 5 int i,j; 6 for(i=...

    一.现象及原因

    现象:在一个工程中有2个带有main函数的文件:InsertSort.cpp,ShellSort.cpp

    InsertSort.cpp

     1 #include <stdio.h>
     2 
     3 void InsertSort(int A[],int n)
     4 {
     5     int i,j;
     6     for(i=2;i<=n;i++)
     7     {
     8        if(A[i]<A[i-1])
     9        {
    10          A[0]=A[i];
    11          for(j=i-1;A[0]<A[j];--j)
    12          {
    13             A[j+1]=A[j];
    14          
    15          }
    16          
    17          A[j+1]=A[0];
    18        }
    19     }
    20 }
    21 
    22 void InsertSort_1(int A[],int n)
    23 {
    24     int i,j,temp;
    25     for(i=1;i<n;i++)
    26     {
    27        if(A[i]<A[i-1])
    28        {
    29          temp=A[i];
    30          for(j=i-1;A[j]>temp;j--)
    31          {
    32             A[j+1]=A[j];
    33          
    34          }
    35          
    36          A[j+1]=temp;
    37        }
    38     }
    39 }
    40 
    41 int main()
    42 {
    43     int i,a[10]={5,2,6,0,3,9,1,7,4,8};
    44     InsertSort(a,10);
    45     printf("InsertSort排序后的结果是:");
    46     for(i=0;i<10;i++)
    47     {
    48        printf("%d",a[i]);
    49     }
    50     printf("\n\n");
    51     return 0;
    52 }
    View Code

    ShellSort.cpp

     1 #include <stdio.h>
     2 void shellSort(int A[],int n)
     3 {
     4     int dk;
     5     int i,j;
     6     int temp;
     7     for(dk=n/2; dk>=1;dk/=2) //用来控制步长,最后递减到1
     8     {
     9         for(i=dk+1;i<=n;i++)
    10         {
    11             if(A[i]<A[i-dk])
    12             {
    13                 A[0]=A[i];
    14                 for(j=i-dk;j>0&&A[0]<A[j];j-=dk)
    15                     A[j+dk]=A[j];
    16                 A[j+dk]=A[0];
    17 
    18             }
    19         }
    20     }
    21 }
    22 int shellSort_main()
    23 {
    24     int i,a[10]={0,5,2,6,3,9,1,7,4,8};
    25     shellSort(a,10);
    26     printf("ShellSort排序后的结果是:");
    27     for(i=0;i<10;i++)
    28     {
    29        printf("%d",a[i]);
    30     }
    31     printf("\n\n");
    32     return 0;
    33 }
    View Code

    当运行过第一个文件后,再编写并运行第二个文件时,会抛出异常。

     

    抛出异常:shellsort.obj : error LNK2005: _main already defined in insertsort.obj
                      Debug/chapter2.exe : fatal error LNK1169: one or more multiply defined symbols found

    原因:main函数重定义。注意,程序是按照一个工程为单位进行编译,每个工程只能有且只有一个main函数,也就是只有一个函数入口。

     

    那么我又想偷懒,不想再重新建立一个工程。否则每建立一个算法程序打开新的一个工程,这样做是不会死太麻烦了。那么我们可以怎样来解决呢?

    二.解决办法

    【方法一】:最笨的方法,既然说是只能允许一个main()主函数入口,那么我在之前那一个里面用/*......*/注释掉不就可以了吗?不错,这样倒是一个解决方案。

    【方法二】:从操作看来,方法一这样太麻烦了,假如有几十个文件或者更多,每次都是这样干,也太费事,浪费光阴和青春了吧?那么我们该怎么做呢?

                 (1)在编好第2个新程序之后,在工程左边fileview里工程下的source files中,选中前一个带main函数的文件,点键盘的【Delete】键,删除该文件(其实只是从工程中移除出去,  并 没有删除,您可以打开该工程目录查看,它依然存在,只是不在VC6.0中显示了,表示已经不在该工程编译范围之内)。

                 (2) 然后,执行VC6.0菜单命令“组建”→“清除”,

                 (3)再按F7或者编译快捷键,重新编译新建的C++程序。

           这样,每个cpp文件(包括已移除的前main()文件)都留在当前工程所在目录中,而每次只有一个带main函数的cpp文件存在于工程当中执行。

            【如果想恢复到原来的那个文件】:在工程左边fileview里工程下的source files中单击【右键】→选择【添加文件到当前目录】→选择需要导入到文件cpp,打开确认就可以把删除的文件导入进来。

    【方法三】:将main函数单独写在一个文件里,并通过头文件将其他文件中的函数引入进来

    如:(1)将InsertSort.cpp中的main函数重命名为普通字母

         (2)再编写InsertSort.h来声明InsertSort.cpp中的函数

         (3)新建一个带main函数的文件main.cpp,在main.cpp中引入头文件,调用InsertSort.cpp中的方法

     

    修改后的源码如下:

    InsertSort.cpp  

     1 #include <stdio.h>
     2 
     3 void InsertSort(int A[],int n)
     4 {
     5     int i,j;
     6     for(i=2;i<=n;i++)
     7     {
     8        if(A[i]<A[i-1])
     9        {
    10          A[0]=A[i];
    11          for(j=i-1;A[0]<A[j];--j)
    12          {
    13             A[j+1]=A[j];
    14          
    15          }
    16          
    17          A[j+1]=A[0];
    18        }
    19     }
    20 }
    21 
    22 void InsertSort_1(int A[],int n)
    23 {
    24     int i,j,temp;
    25     for(i=1;i<n;i++)
    26     {
    27        if(A[i]<A[i-1])
    28        {
    29          temp=A[i];
    30          for(j=i-1;A[j]>temp;j--)
    31          {
    32             A[j+1]=A[j];
    33          
    34          }
    35          
    36          A[j+1]=temp;
    37        }
    38     }
    39 }
    40 
    41 int InsertSort_main()
    42 {
    43     int i,a[10]={5,2,6,0,3,9,1,7,4,8};
    44     InsertSort(a,10);
    45     printf("InsertSort排序后的结果是:");
    46     for(i=0;i<10;i++)
    47     {
    48        printf("%d",a[i]);
    49     }
    50     printf("\n\n");
    51     return 0;
    52 }
    View Code

     

     InsertSort.h

    void InsertSort(int A[],int n);
    int InsertSort_main();
    View Code

    main.cpp

    1 #include <stdio.h>
    2 #include "InsertSort.h"
    3 void main()
    4 {
    5 InsertSort_main();
    6 //ShellSort_main();
    7 }
    View Code

     

                  (1)

     

    展开全文
  • VS2017一个解决方案多个项目and一个项目多个main函数/主函数 Motivation:    在做实验的时候,...   同时,一次实验中,可能会不同的任务需要实验,这样就难免需要多个main函数,所以本文记录一下如何只运行...

    VS2017一个解决方案多个项目and一个项目多个main函数/主函数

    Motivation:
       在做实验的时候,为了避免建立多个解决方案,在同一个解决方案下建立多个项目,可以使得一门课程的实验都建立在同一个解决方案下,一次实验,建立添加一个项目,这样既便于管理,也免去了琐碎的操作。
       同时,一次实验中,可能会有不同的任务需要实验,这样就难免需要多个main函数,所以本文记录一下如何只运行自己想要运行的部分。
    Demostration:
       此处以多核实验为例,总的解决方案名称为MultiCoreExperimrnt,第一次实验为项目ExperimentONE,第二次实验为项目ExperimentTWO, 依次类推。然后在ExperimentONE里面建立task1.cpp,task2.cpp…,并演示分别执行任务1和2.

    1 一个解决方案建立多个项目

    • 生成解决方案。注意解决方案的名称和第一个项目的名称,当然,后面可以重命名。此处建立的是Windows控制台应用程序
    在这里插入图片描述
    添加项目。在视图中打开解决方案管理器,右击解决方案“Multi CoreExperiment”,选择添加,新建项目。
    在这里插入图片描述在这里插入图片描述

    2 一个项目建立多个main函数

    • 添加c/cpp文件。点击源文件,右击,添加task1,task2.也可以将原来自动生成的重命名为task*。
    在这里插入图片描述在这里插入图片描述
    • task1输入代码,输出“hello world,task1!”;task1输入代码,输出“hello world,task2!”。
    在这里插入图片描述

    3 单独运行某一task的设置

    •设置项目1为启动项,并将项目1中的task2设置为禁止启动项,需要运行时再打开。
    1)右击项目1,选择设置为启动项。
    2)右击task2,选择属性,”从生成中排除“选着”是“,点击确定。
    设置如下:
    在这里插入图片描述运行结果:
    在这里插入图片描述•禁用task1,将task2中的“从生成中排除”改为“否”。运行结果如下:在这里插入图片描述

    4 其它方法

    在上述中,设置好启动项后,也可以把你不先运行的的main函数直接从源文件中排除掉,只保留你要运行的main函数。需要的时候在右击源文件,添加现有项,就可以了。
    在这里插入图片描述注:可以忽略警告。

    展开全文
  • 那么能否在当前项目下运行多个包含main函数的.cpp文件?2. 解答不能,VS一个项目只能个main()。在VS中,区分一个C++程序是通过项目区分,而不是以.cpp文件区分。3. 实例main.cpp代码:// main.cpp : 此文件包含 ...
  • #define ENTRY main2 int main1(){return 0;} int main2(){return 0;} int main(){return ENTRY();}  
  • C语言总是从main函数开始执行吗

    千次阅读 2021-05-21 05:33:26
    //--------------------------------------------------------本文目录结构|-提出问题|-解决问题|-推荐文章|-作业//--------------------------------------------------------一、提出问题①C程序main函数是必要的...
  • vs同一个工程下不要有多个main函数

    千次阅读 2013-12-09 23:35:37
    然后按照写java测试类的思维,在同一个工程下面又创建了个cpp源文件,单独运行的时候很不幸的报错了,然后挪到Dev C++中单独编译时是正常的(F9),有点小纳闷,到群里一问,哦,原来cpp程序中只能个main函数!...
  • VS2019多个main主函数的解决方案

    千次阅读 多人点赞 2021-02-08 22:52:46
    在同一个项目中创建了两个.cpp文件,其中的两个main主函数起了冲突,一开始的问题是 fatal error LNK1169: 找到一个或多个多重定义的符号 ...创建项目来调试程序的时候,如果有多个.cpp文件,可以将所有的.cp
  • 记得大一学C语言的时候,我们就知道一个工程中只能个main函数 最近下载了CLion,我很懒,想在一个工程下建好几个c文件,里面都main函数,结果编译运行的时候不通过 这才想起来,无论多少复杂的c文件和函数,...
  • -- The main class to start by executing java -jar -->     < start-class > com.rensanning.springboot.SpringBootDemoApplication start-class >   properties >   或者 ...
  • 是的,一C程序总是从main函数开始执行,而不论其在程序中的位置。在main函数中可以调用程序中的其他函数,而其他函数却不可以调用main函数;程序最后再从main函数中结束。本教程操作环境:windows7系统、c99版本、...
  • jar包中有多个main方法,执行指定.java文件的main方法: java -cp jar包名 包名.类名 参数 举例: 执行test.jar包中cn.com.test.send包下Send.java中的main方法 参数四个 java -cp test.jar ...
  • 一个.java文件中存在多个main方法

    千次阅读 2020-06-16 10:54:17
    一个.java文件中存在多个main方法 看上面的代码,一个.java文件中存在多个类 而且每一个类中都存在一个main方法,大家都知道main方法是JVM运行程序的入口,那在一个.java文件中的多个类中的多个main方法是如何运行...
  • Clion下同时编写多个main函数及思考

    千次阅读 2018-12-17 09:34:03
    Clion下如果有多个main函数,编译时会报错“`main'被多次定义”,如下图: 出现这种情况是因为我们在CMakeLists.txt没有进行设置可以同时存在多个main函数。 我在Clion下建立了两个.c文件,分别为1.1.c;main.c...
  • 1个C程序可以由1个或多个函数构成,但必须1个函数名为main。更多相关问题[单选,B1型题] 构成银汞合金的主要成分是()。[单选,B1型题] 灌注模型时需涂布分离剂的印模材料是()。[单选,A2型题,A1/A2型题] 通用编号系统...
  • 如果一个jar中含有多个主程序,而你没有配置默认主程序,或者想要运行指定主程序,则可以通过如下命令执行:java -cp example03-1.0-SNAPSHOT.jar com.alan.HelloWorld-cp &lt;目录和 zip/jar 文件的类搜索路径&...
  • C++一个项目只允许个main函数怎么办

    千次阅读 多人点赞 2020-11-13 09:26:09
    C++中一个项目只允许一个main()函数怎么办大家在学习C++的时候一个项目只允许个main函数怎么办(本人IDE为Visual Studio)这两天学习c++发现了一个问题,当你跟着教程去编写时候,会一个项目下只能...
  • Clion下同时编写多个main函数

    万次阅读 2018-05-13 23:02:06
    Clion下如果有多个main函数,编译时会报错“`main'被多次定义”,出现这种情况是因为我们在CMakeLists.txt没有进行设置可以同时存在多个main函数。我在Clion下建立了三个.cpp文件,分别为No1_aa.cpp;No2_bb.cpp;...
  • C++ Visual Studio中同一个项目包含多个有main函数的源文件怎么分别运行? C++编程问题-目录 2. C++ Visual Studio中同一个项目包含多个有main函数的源文件怎么分别运行? 问题如下图:想要运行该项目下的“05深...
  • 【clion】多个main()函数共存问题

    千次阅读 2019-03-16 23:33:26
    文章目录【clion】多个main()函数共存问题前言一、问题如下所示1.1 创建多个.c文件1.2 独立运行1.3 测试 【clion】多个main()函数共存问题 前言 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&...
  • 在Java中,我们可以在每一类中写main函数,从而方便对单个类进行简单的测试。在C++中,当我们使用CLion环境时,可以实现同样的目的。本文就简介如何设计以实现本目标。
  • 就是课本上的C/S,为什么可以允许同一个包下个main函数,感谢!
  • VS编译过程报错,一个项目中包含多个main函数,项目是无法运行的。之前就遇到,不过没有搞懂怎么解决,只是把其他main注释掉了,hiahia。。。。很多人又来问,如果不是屏蔽几个?超级多呢?批量操作解决你的问题。...
  • springboot项目中多个main方法启动问题

    万次阅读 2018-07-03 17:54:30
    但是当项目中含有不止一标准main方法时,项目打包成jar包时可能无法正常启动,找不到要启动的main; 1 修改pom.xml文件,用如下方式实现 修改pom.xml文件,用如下方式实现 &amp;lt;properties&amp;gt;...
  • main函数是C语言中比较特殊的函数,C程序总是从main函数开始执行,main函数的原型是:int main(int argc, char *argv[]);其中argc是命令行参数的个数,argv是指向参数的各个指针所构成的数组。当内核执行C程序时...
  • VS一个项目下多个main函数源文件运行冲突问题

    万次阅读 多人点赞 2020-01-09 15:59:28
    VS一个项目下多个main函数源文件运行冲突问题 问题 学C++过程中,经常写一些小的案例代码,在一个项目下会建立多个源文件编译运行,每个源文件都由main函数,经常冲突,一开始只是把main改成main1,main2…,后来查...
  • 在JAVA中,同一个项目中,是允许多个类的存在main函数的。 其实,想一想就明白了,JAVA是真正的面向对象语言;所有程序的运行,都基于类;而每一个类,都应该是完整的。 main函数为static函数,在JAVA里,static...
  • 在使用VS编辑器学习C、或者C++的时候,很多人都喜欢在一个项目中写多个xx.cpp来调试运行,但在vs中,一个项目中包含多个main函数,项目是无法运行的,我们只能每次新建一个项目,去调试运行,但比较繁琐。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,493,887
精华内容 597,554
关键字:

有多个main函数

友情链接: subspace.zip