Mac で小さな C プログラムを作成してテストしました。ただし、Linux マシンで make ファイルを使用してコンパイルすると、理解できないエラーが発生します。ヘルプ/ポインタをいただければ幸いです。
ssss@deas:a0$ make gcc -Wall -g -c -o map.o map.c gcc -Wall -g -c -o main.o main.c gcc map.o main.o -o マップ ssss@deas:a0$ ./map 挿入 2 2 マッピングが正常に追加されました (古い値は でした)。 *** glibc が検出されました *** ./map: free(): 無効なポインター: 0x00007fd7e0826b58 *** ======= バックトレース: ========= /lib64/libc.so.6(+0x766d6)[0x7fd7e02ed6d6] ./マップ[0x400f5d] /lib64/libc.so.6(__libc_start_main+0xed)[0x7fd7e029823d] ./マップ[0x4007b9] ======= メモリマップ: ======== 00400000-00402000 r-xp 00000000 00:33 27911597 /ホーム/k/k7r7/cs317/a0/マップ 00601000-00602000 r--p 00001000 00:33 27911597 /home/k/k7r7/cs317/a0/map 00602000-00603000 rw-p 00002000 00:33 27911597 /ホーム/k/k7r7/cs317/a0/マップ 00603000-00624000 rw-p 00000000 00:00 0 [ヒープ] 7fd7e0061000-7fd7e0076000 r-xp 00000000 08:01 917688 /lib64/libgcc_s.so.1 7fd7e0076000-7fd7e0275000 ---p 00015000 08:01 917688 /lib64/libgcc_s.so.1 7fd7e0275000-7fd7e0276000 r--p 00014000 08:01 917688 /lib64/libgcc_s.so.1 7fd7e0276000-7fd7e0277000 rw-p 00015000 08:01 917688 /lib64/libgcc_s.so.1 7fd7e0277000-7fd7e03fe000 r-xp 00000000 08:01 917554 /lib64/libc-2.14.1.so 7fd7e03fe000-7fd7e05fd000 ---p 00187000 08:01 917554 /lib64/libc-2.14.1.so 7fd7e05fd000-7fd7e0601000 r--p 00186000 08:01 917554 /lib64/libc-2.14.1.so 7fd7e0601000-7fd7e0602000 rw-p 0018a000 08:01 917554 /lib64/libc-2.14.1.so 7fd7e0602000-7fd7e0607000 rw-p 00000000 00:00 0 7fd7e0607000-7fd7e0627000 r-xp 00000000 08:01 917547 /lib64/ld-2.14.1.so 7fd7e07e3000-7fd7e07e6000 rw-p 00000000 00:00 0 7fd7e0823000-7fd7e0827000 rw-p 00000000 00:00 0 7fd7e0827000-7fd7e0828000 r--p 00020000 08:01 917547 /lib64/ld-2.14.1.so 7fd7e0828000-7fd7e0829000 rw-p 00021000 08:01 917547 /lib64/ld-2.14.1.so 7fd7e0829000-7fd7e082a000 rw-p 00000000 00:00 0 7fff9db94000-7fff9dbb5000 rw-p 00000000 00:00 0 [スタック] 7fff9dbff000-7fff9dc00000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] 中止しました
これはどのように可能でしょうか?