今天用gcc编译一个代码的时候需要生成map文件,查到了命令是gcc code.c -Wl,-Map,code.map,然而问题来了,放到了cmd里根本运行不了啊,折腾了一晚上我还以为我的gcc没把-Wl选项编译进去,就在我快要发狂的时候想到,是不是逗号是个特殊字符啊,于是一查还真是,转义一下就好了。

  具体方法是在逗号前加上^号,cmd是搞定了,然而扔到PowerShell上这串命令又不能用了,还是那个念头,逗号一定也是PowerShell的特殊字符,于是再次搜索,找到了一个解决方法,把包含逗号的参数用双引号包括起来就好了。

总结:

cmd:  gcc code.c -Wl^,-Map^,code.map

PowerShell:  gcc code.c "-Wl,-Map,code.map"