正常输出 1000
报错
/usr/bin/ld: /tmp/ccnihdJU.o:(.data+0x0): multiple definition of `a’; /tmp/cc8sytkl.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
两次编译命令都是
g++ main.cpp test.cpp -o mytest.o
第二张图改用
g++ test.cpp -c test.o
g++ main.cpp -c main.o
g++ main.o test.o -o mytest.o
还是
/usr/bin/ld: test.o:(.data+0x0): multiple definition of `a’; main.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
想问问第二张图 main.cpp 的 a 为什么不是弱变量 local var 应该绑定到 test.cpp 的 a 上,是我什么地方理解错了吗