1

はい、これは非常に怠惰な質問ですが、これは人々が頻繁に抱えている問題であり、ここの誰かが共有するために何かをすでに書いていると思います.

#includeWindows の相対パスを使用したステートメントを含む C ファイルが大量にあります。他のオペレーティング システム (すぐに、私の OS X 開発マシン) でコードをコンパイルする作業を行っており、これらの include ステートメントのすべてのバックスラッシュをスラッシュに置き換える必要があります。だから、のようなもの#include "libs\helper.h"から#include "libs/helper.h"

4

3 に答える 3

2
sed  '/^[ ]*#[ ]*include/ s:\\:/:g'

これは、合法的な形式をキャッチする必要があるため、かなり堅牢である必要#includeがあります。

于 2010-02-12T01:16:24.700 に答える
1

OSXではbash/awk/sedが必要です

for cfile in *.c
do
  awk '/#include/{gsub(/\\/,"/")}1' cfile >temp
  mv temp cfile
done

また

 sed -i.bak '/#include/s/\\/\//g' *.c
于 2010-02-12T01:17:54.123 に答える
0

Sedは前進の道なので、Macで実行してください。

sed '/^#include/s/\\/\//g'

于 2010-02-12T01:17:59.927 に答える