【Bash】Windows Subsystem for Linux【WSL】3
■ このスレッドは過去ログ倉庫に格納されています
改行ミスった
前スレ再貼り
【Bash】Windows Subsystem for Linux【Ubuntu】2
https://mao.5ch.net/test/read.cgi/linux/1468149353/ >>1-2乙!
Home版もWSLでそのままdocker動くようになったらメッチャ便利だが
そういう予定はないんだろか >>4
64bitならhomeでもいけるんじゃないの? Windows上でLinuxバイナリを作れるのは素晴らしいことで、もしかするとJavaの利点を吹き飛ばしてしまうかもしれない。 サーバサイドでC++を使うような流れができるかもしれないと思うのでした。 MSYSの環境作るのたるいからWSLでmingwにしたw >>7
> Windows上でLinuxバイナリを作れるのは素晴らしいことで、
だからなに?って感じだなぁ
> もしかするとJavaの利点を吹き飛ばしてしまうかもしれない。
わからんから説明してくれ 書くのは一度、デバッグは・・・の再来になりそうだなぁw >>10
wsl と mingwって全くの別物だと思うんだけど、どう関係させるの? >>15
WSLにmingwパッケージを入れてWindowsのバイナリをコンパイルできる。
クロスコンパイルってやつ。 >>14
C++17だと大丈夫みたいだぞ。
C++03の頃は、clで確認後、gccでビルドすると通らないのが普通だった。
必ず修正が必要で、すり合わせを行っていた。
ところがC++17を指定するとgccが賢くなるらしく、すり合わせの必要が全くない。
ちなみにC++17はgcc7からなので、例えばUbuntu16.04などにはパッケージがない。 SwiftをWSLで動かそうとしたが、コンパイルが低速でVMでやったほうが速かった・・・ Visual Studio 2017、CMakeプロジェクト、WSLという環境だと、インテリセンスがLinux側の標準ヘッダを拾ってくれなくてWindows側にフォールバックするな。
何か設定が必要なんだろうか。 >>19
LinuxにもVCPKG導入して使うことにしたんだけど、Boostですら何とかなってるけどな。 新しめの環境が使いたいC++使いは、WSLにUbuntu18.04を入れるのがお勧め。
これでgcc7が使える。
それでも、ライブラリは最新じゃないから、パッケージマネージャとしてVCPKGを導入したほうが良い。 >>23
まあ何かそういう単純なことなんだろうけどな。 ビルドはできるので、CMakeCacheには入っているはずなんだけどなあ。 >>16
なるほど win 上のlinuxでwinのバイナリを作るのは不思議な気がするけど、msys使うのと変わらないのか インテリセンスの問題は、Linuxから情報を収集するのに時間が必要だっただけで、普通にLinux側のヘッダに合わさったわ。
Linux側のSSHサーバーを情報収集が終わるまで起動したままにしとかないとダメってことだな。 Linux側のシステム・ヘッダでインテリセンスが効くようになったものの、問題発生。
CMakeで指定しているC++17の設定が反映されていない。
__cplusplus < 201103Lに引っかかってしまう。
ビルド時はきちんと設定されているのだが。 環境を作ることが目的になってなければいいけど。
どういうプロジェクトに参画してるんだろう。 今のところ、clとgccの違いはテンプレート仮引数名の衝突だけだな。
C++17を有効にするとだいぶ統一されるようだ。 Excelから出力したCSVのように一行(?)の中に改行が含まれた
データを扱うにはどうしたら良いでしょうか? >>37
セル内改行は\n、カラムの改行は\r\nになってるらしいよ。 もう少し具体的に書きます。
カンマ区切りのCSVデータだと仮定して、
シェルスクリプトの中に関数を一行ごとに呼び出し、
列を引数に対応させたいです。
例えば以下のような内容のファイルがあったとして
a1,a2,a3,a4
b1,b2,b3,b4
c1,c2,c3,c4
syori "a1" "a2" "a3" "a4"
syori "b1" "b2" "b3" "b4"
syori "c1" "c2" "c3" "c4"
という風にsyori関数を呼び出したいのです。
ただし実際には各項目(a1等の部分)にExcelから出力したデータのように
改行やカンマやダブルクォートやシングルクォートや空白が入ることがあるのです >>37
どういうレベルで扱いたいんだ?
プログラム組めるならその言語用CSV用ライブラリ使えば普通に対応できる。 >>40
それで思い出しました。
各項目には \ が入ることもあります。
今回はCSVではありませんが、RFC4180(=ExcelのCSVの仕様)では
改行が\nのようにエスケープされません
https://ja.wikipedia.org/wiki/Comma-Separated_Values
> フィールドがコンマ、ダブルクォート、改行を含む場合は、かならずダブルクォートで囲む。
> また、フィールドに含まれるダブルクォートは2つ並べてエスケープする。
>
> "日本 CRLF
> 国","""東京""","127,767,944" CRLF
↑「日本国」の国の前に改行が入っている場合 ■ このスレッドは過去ログ倉庫に格納されています