Install the Windows Subsystem for Linux
https://docs.microsoft.com/en-us/windows/wsl/install-win10
前スレ
【Bash】Windows Subsystem for Linux【Ubuntu】3
http://mao.2ch.net/test/read.cgi/linux/1528141781/
【Bash】Windows Subsystem for Linux【WSL】4
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/11/09(金) 16:03:28.29ID:WWmxQ0j3
2019/03/01(金) 17:21:53.61ID:dS+D8oye
>>842
Dynamic MemoryなんてWindowsゲストでもうんこでや(ボソ
Dynamic MemoryなんてWindowsゲストでもうんこでや(ボソ
2019/03/01(金) 19:02:03.19ID:Qb5Iweg/
>>843
カーネル回りはUnicode前提で作られているけど
上部はWin9xとの互換性のためにShiftJISを採用
W系文字列とA系文字列を変換しつつ動いてる。
VC8.0からワイド文字がデフォルトに変更された。が・・・
未だにマルチバイトでビルドされたソフトも存在する。
カーネル回りはUnicode前提で作られているけど
上部はWin9xとの互換性のためにShiftJISを採用
W系文字列とA系文字列を変換しつつ動いてる。
VC8.0からワイド文字がデフォルトに変更された。が・・・
未だにマルチバイトでビルドされたソフトも存在する。
2019/03/01(金) 19:20:37.97ID:yAOTadDR
それがOSの機能・仕様となんの関係が
2019/03/01(金) 20:46:16.78ID:+jAw0umc
\
 ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`'ー '´
○
o
//三ミ彡ミヽ
//////⌒ ⌒ヾ ヽヽ
/.////ト、 i | | |i
|.| | | | ト、 ,二、| | | ||
ハ ハ | | | | / | // | | |
| } | } | | | |;;竺、、、///} ||
{ V .} | | | |ミ三ヲ` |/ / |/}
〉へと.ヽ| |こン / // ィ| と思うしぇしぇしぇであった
}イ`'( } `ー, へ、´ /| ||
\ヽ ノ { ノ`T⌒ }//
 ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`'ー '´
○
o
//三ミ彡ミヽ
//////⌒ ⌒ヾ ヽヽ
/.////ト、 i | | |i
|.| | | | ト、 ,二、| | | ||
ハ ハ | | | | / | // | | |
| } | } | | | |;;竺、、、///} ||
{ V .} | | | |ミ三ヲ` |/ / |/}
〉へと.ヽ| |こン / // ィ| と思うしぇしぇしぇであった
}イ`'( } `ー, へ、´ /| ||
\ヽ ノ { ノ`T⌒ }//
2019/03/01(金) 20:51:11.84ID:eEXh6B3P
2019/03/01(金) 20:52:31.43ID:eEXh6B3P
>>846
> カーネル回りはUnicode前提で作られているけど
> 上部はWin9xとの互換性のためにShiftJISを採用
上部ってなに? Windowsと関係ない
一部のアプリがSJISを使っているからって、
WindowsはUnicodeなんだけど
> カーネル回りはUnicode前提で作られているけど
> 上部はWin9xとの互換性のためにShiftJISを採用
上部ってなに? Windowsと関係ない
一部のアプリがSJISを使っているからって、
WindowsはUnicodeなんだけど
851login:Penguin
2019/03/01(金) 21:35:38.99ID:cp/SMV8Z2019/03/01(金) 21:53:28.23ID:eEXh6B3P
だからアプリの問題ですよな。
OSと関係ない
OSと関係ない
853login:Penguin
2019/03/01(金) 22:09:02.38ID:cp/SMV8Z >>852
残念ながら、OSはわざわざシステム本来のロケールに引数を復元してからアプリに渡すのでアプリの問題じゃなくてOSの問題なのよ。
つまり chcp 65001 しててもアプリにはコードページ932の文字列が渡される。アプリ側ではどうしようもない。
残念ながら、OSはわざわざシステム本来のロケールに引数を復元してからアプリに渡すのでアプリの問題じゃなくてOSの問題なのよ。
つまり chcp 65001 しててもアプリにはコードページ932の文字列が渡される。アプリ側ではどうしようもない。
2019/03/01(金) 22:14:57.44ID:bitY+Vcd
> OSはわざわざシステム本来のロケールに引数を復元してからアプリに渡すので
ダウト。そんな事しない
ダウト。そんな事しない
855login:Penguin
2019/03/01(金) 22:26:44.58ID:cp/SMV8Z >>854
え?ほんまでっか!?
え?ほんまでっか!?
2019/03/01(金) 22:35:00.92ID:xXgi/gLf
別に引数渡ししなくてもプロセス間で情報をやり取りする方法あるしな。
2019/03/01(金) 23:10:32.94ID:0dHgJ/+e
chcpはファイル入出力のコードページには何も影響しないよ。
2019/03/01(金) 23:16:24.53ID:xXgi/gLf
ファイル入出力?何言ってんだ?そんな話はしてねえぞ。
2019/03/01(金) 23:34:27.27ID:3DxW6MgJ
OS(カーネル)はそんなことしない、引数の値をただ渡すだけ。そもそも、OSはどこにも噛んでない。
シェルの問題、パイプを噛ませるならともかく。
シェルの問題、パイプを噛ませるならともかく。
860login:Penguin
2019/03/01(金) 23:39:47.26ID:cp/SMV8Z Visual Studio でビルドしたバイナリだとmain()で始まるバイナリであっても、
GetCommandLineW() と CommandLineToArgvW()でオリジナルに近いコマンド引数をUTF-16で得ることはできるね。
GetCommandLineW() と CommandLineToArgvW()でオリジナルに近いコマンド引数をUTF-16で得ることはできるね。
2019/03/02(土) 06:36:09.26ID:hgCaRIdz
>>849
実際に試しもしない馬鹿
実際に試しもしない馬鹿
2019/03/02(土) 07:43:15.22ID:3tBpscIJ
2019/03/02(土) 09:02:13.62ID:wNBM8kkz
ここでのOSの機能ってのはNTkernel<各種サブシステムを含む<コマンドラインを含む標準機能
って定義で揉めているの?
また文系が本質に関係ない所で暴れているのか
って定義で揉めているの?
また文系が本質に関係ない所で暴れているのか
2019/03/02(土) 09:44:12.29ID:DuLnb6JR
ファイル名の話をしてるかと思ったら突然batがどうこう言いだして次はAPIか
何がやりたいのやら
何がやりたいのやら
2019/03/02(土) 10:26:59.19ID:LvykRUjv
カーネルがUnicodeでシェルがShiftJISだった
それだけ
それだけ
2019/03/02(土) 10:41:42.34ID:RR0lzZ2f
コマンドプロンプト自体は少しずつ進化していってる。
昔は表示できない非SJIS文字が多かった。単にchcpしただけでは対応できなかった。
昔は表示できない非SJIS文字が多かった。単にchcpしただけでは対応できなかった。
2019/03/02(土) 11:57:27.85ID:3tBpscIJ
>>863
そうじゃない。
OSはAPIを提供している。
その中には古いOSやアプリとの互換性を保つためのAPIもある。
その互換性を重視したAPIを使ったアプリの仕様は
アプリの問題でありOSの問題ではないということ
そうじゃない。
OSはAPIを提供している。
その中には古いOSやアプリとの互換性を保つためのAPIもある。
その互換性を重視したAPIを使ったアプリの仕様は
アプリの問題でありOSの問題ではないということ
2019/03/02(土) 12:01:48.79ID:3tBpscIJ
>>865
> カーネルがUnicodeでシェルがShiftJISだった
それだけだと中国でもShiftJISみたいだろw
それにシェルとコマンドプロンプトの違いもわかってない。
Windowsにおいてエクスプローラーもシェルだし、こっちは完全Unicode対応
Windows NT系は最初からUnicode。コマンドプロンプトもUnicode対応だが
互換性のためにデフォルトでは「Unicode対応でないプログラムの言語」の設定に
対応したコードページになっておりこれは変更できる。
ここまでかいて「それだけ」と言えるんだよ
> カーネルがUnicodeでシェルがShiftJISだった
それだけだと中国でもShiftJISみたいだろw
それにシェルとコマンドプロンプトの違いもわかってない。
Windowsにおいてエクスプローラーもシェルだし、こっちは完全Unicode対応
Windows NT系は最初からUnicode。コマンドプロンプトもUnicode対応だが
互換性のためにデフォルトでは「Unicode対応でないプログラムの言語」の設定に
対応したコードページになっておりこれは変更できる。
ここまでかいて「それだけ」と言えるんだよ
2019/03/02(土) 12:06:21.70ID:jIefrdBL
古いAPIをいまだに使ってるライブラリが存在するのが問題ってのは全然問題じゃない。
互換性は必要なのだからOSの問題でもない。アプリもメンテが大変だから対応でなくても仕方ない。
できないことをやろうとする利用者の問題だろ。
互換性は必要なのだからOSの問題でもない。アプリもメンテが大変だから対応でなくても仕方ない。
できないことをやろうとする利用者の問題だろ。
2019/03/02(土) 14:58:04.26ID:iPk0eRVU
取り敢えずおまえらが重箱の隅をつついてヽ(゚∀。)ノウェ―イってやってるってだけはわかったわ
そんなに文句垂れるならVM使うなり、サブマシンをサーバー化してSSH/MOSH,RDPでつなぐなりすればいいだけ。
WSLは成長途中で成熟すらしてないのに文句垂れるのはアホ。MsWinだって温故知新の如く開発をしている。それでもIEやレガシーシステム捨てないような阿呆のために互換性を捏ね繰り回して考えている。
我々利用者は限られた選択肢をどうするかだけだろ
利用者として要求するならインサイダープログラムにでもさんかしてフィードバックでもしろ。そうじゃなきゃ知識ある人間が文句垂れんなよ。
そんなに文句垂れるならVM使うなり、サブマシンをサーバー化してSSH/MOSH,RDPでつなぐなりすればいいだけ。
WSLは成長途中で成熟すらしてないのに文句垂れるのはアホ。MsWinだって温故知新の如く開発をしている。それでもIEやレガシーシステム捨てないような阿呆のために互換性を捏ね繰り回して考えている。
我々利用者は限られた選択肢をどうするかだけだろ
利用者として要求するならインサイダープログラムにでもさんかしてフィードバックでもしろ。そうじゃなきゃ知識ある人間が文句垂れんなよ。
2019/03/02(土) 16:42:38.97ID:hG5hhj7h
2019/03/02(土) 17:01:39.78ID:G3h8Fg2L
sjis は、国際化されていない。
日本国内だけしか使えない
一方、UTF-8 は、すべての国(多国間)で使える
だから外人は、sjis 対応では作っていないから、ほとんどのアプリでバグる。
漏れら日本人が、言語一覧表に表示される、何百もの言語に対応しないのと同じ
ただ、WSL がすごいのは、Windows側のsjis のファイル名を、
Linux側では、UTF-8 に自動的に変換して、読めるようにしている
日本国内だけしか使えない
一方、UTF-8 は、すべての国(多国間)で使える
だから外人は、sjis 対応では作っていないから、ほとんどのアプリでバグる。
漏れら日本人が、言語一覧表に表示される、何百もの言語に対応しないのと同じ
ただ、WSL がすごいのは、Windows側のsjis のファイル名を、
Linux側では、UTF-8 に自動的に変換して、読めるようにしている
2019/03/02(土) 17:08:19.12ID:RR0lzZ2f
>>872
逆。Unicodeのファイル名を可能な限りsjisで読めるように擬態してきたのがWindows NTのすごさ。
逆。Unicodeのファイル名を可能な限りsjisで読めるように擬態してきたのがWindows NTのすごさ。
2019/03/02(土) 17:13:30.16ID:xq/X7dI2
どっちでもよい。
単純にWindowsの開発が凄いってことだ
単純にWindowsの開発が凄いってことだ
2019/03/02(土) 17:29:48.20ID:f83cKfiP
Windows界隈でUnicodeというとUTF-16を指す、よね?
MSがすべての文字は16bitで固定的に表現できるって言ってた気がする
MSがすべての文字は16bitで固定的に表現できるって言ってた気がする
2019/03/02(土) 17:38:06.11ID:RR0lzZ2f
UnicodeとSJISでは文字の並びが違うからそのまま文字列ソートしたら違う結果になる。
SJISの並び順を維持したままソートするのがWindowsNTの地味な偉さでそ。
SJISの並び順を維持したままソートするのがWindowsNTの地味な偉さでそ。
2019/03/02(土) 18:18:55.65ID:pBLQHhxf
ソートしてるのはOSではなくてアプリでしょ?
2019/03/02(土) 18:23:12.22ID:RR0lzZ2f
厳密にはアプリがソートする時に使うSJIS互換の比較関数をWindowsNTが提供している。もちろんアプリはそれを使う義務はないけど。
2019/03/02(土) 18:23:36.49ID:uciZqlqG
アプリもAPIもOSの一部の機能を使ってるからOSが基本だな。
リストビューとかソートするプログラムもソート順だけ指定してあとはOSにお任せ。
リストビューとかソートするプログラムもソート順だけ指定してあとはOSにお任せ。
2019/03/02(土) 19:00:14.45ID:hG5hhj7h
>>874
ほんとそうですね。Linuxの10年先行ってる。
ほんとそうですね。Linuxの10年先行ってる。
2019/03/02(土) 19:11:58.34ID:BtrOpgTJ
Windowsではなく、WindowsNTを作ったカトラー(DEC出身)がすごいのだ
むしろWindows1.0〜Meとの互換のためにNTの潜在能力を出し切れていない面が多い
むしろWindows1.0〜Meとの互換のためにNTの潜在能力を出し切れていない面が多い
2019/03/02(土) 19:13:52.27ID:hG5hhj7h
>>881
カトラーが作ったわけじゃないんだけどね。若い人かな?
カトラーが作ったわけじゃないんだけどね。若い人かな?
883872
2019/03/02(土) 19:33:05.94ID:G3h8Fg2L Windows API には、sjis/unicode 用の2つの関数がある。
すべて2種類作られている
MFC では、_T( )マクロで文字列を囲むと、両方に対応できる。
_T( "日本語" )
この型を、TCHAR 型と言う
そして、ソースコードのビルド時に、どちらのエンコードを使うか、指定できる
どの道、sjis を使うのは、日本人だけ。
外人のアプリでバグるから、どうしようもない
unicode なら外人も使うから、バグらない
すべて2種類作られている
MFC では、_T( )マクロで文字列を囲むと、両方に対応できる。
_T( "日本語" )
この型を、TCHAR 型と言う
そして、ソースコードのビルド時に、どちらのエンコードを使うか、指定できる
どの道、sjis を使うのは、日本人だけ。
外人のアプリでバグるから、どうしようもない
unicode なら外人も使うから、バグらない
2019/03/02(土) 20:08:17.87ID:f83cKfiP
外人が適当な実装するからバグりまくってた印象しかない
外人<Unicode対応したぜ!he he(ASCII相当な英数字しか通らない)
外人<Unicode対応したぜ!he he(ASCII相当な英数字しか通らない)
2019/03/02(土) 21:38:50.63ID:YczcBIc8
>>872
Windows-31JはIANAにも登録されてると思うのだが
Windows-31JはIANAにも登録されてると思うのだが
886login:Penguin
2019/03/02(土) 22:22:26.51ID:RR0lzZ2f ま、なんというか、WSLは織田政権が甲州征伐を決断したような「ついに来た」感はあるよね。
2019/03/02(土) 22:33:34.99ID:3tBpscIJ
2019/03/02(土) 22:34:28.70ID:3tBpscIJ
>>883
> Windows API には、sjis/unicode 用の2つの関数がある。
あははw SJISは日本語専用なのに
日本語専用のAPIがあるわけないじゃないですかw
こういうレベルだから馬鹿にされるんやで
> Windows API には、sjis/unicode 用の2つの関数がある。
あははw SJISは日本語専用なのに
日本語専用のAPIがあるわけないじゃないですかw
こういうレベルだから馬鹿にされるんやで
2019/03/02(土) 22:35:13.12ID:3tBpscIJ
2019/03/02(土) 22:37:39.09ID:3tBpscIJ
>>876
> UnicodeとSJISでは文字の並びが違うからそのまま文字列ソートしたら違う結果になる。
ほんと言ってることのレベルが低すぎて哀れ
文字の並び? Unicodeでは文字の並びは文字コードの並びではない。
Unicodeではどういう順番にするかという並べ方が複数定義されてる
現在のロケールに合わせて適切な順番を選んでいるだけ
> UnicodeとSJISでは文字の並びが違うからそのまま文字列ソートしたら違う結果になる。
ほんと言ってることのレベルが低すぎて哀れ
文字の並び? Unicodeでは文字の並びは文字コードの並びではない。
Unicodeではどういう順番にするかという並べ方が複数定義されてる
現在のロケールに合わせて適切な順番を選んでいるだけ
2019/03/02(土) 22:41:24.84ID:3tBpscIJ
>>872
今はもうsjisなんか使ってない
Unicodeを使って開発している。
外国人もUnicodeを使っている。そうしないと絵文字すら使えないから。
逆に言えば絵文字が使えればUnicode対応
Unicode対応で作ってるからほとんどのアプリはバグらない
今はもうsjisなんか使ってない
Unicodeを使って開発している。
外国人もUnicodeを使っている。そうしないと絵文字すら使えないから。
逆に言えば絵文字が使えればUnicode対応
Unicode対応で作ってるからほとんどのアプリはバグらない
892login:Penguin
2019/03/02(土) 23:07:11.33ID:RR0lzZ2f >>890
時系列がめちゃくちゃ
時系列がめちゃくちゃ
2019/03/02(土) 23:10:24.50ID:3tBpscIJ
2019/03/02(土) 23:32:11.60ID:YczcBIc8
>>887
FDの中も?
FDの中も?
2019/03/02(土) 23:33:39.54ID:3tBpscIJ
FDってなんですか?
2019/03/03(日) 02:58:15.02ID:u6YJKUfs
FDもVFATにunicodeで入れてんじゃなかったか
2019/03/03(日) 03:40:46.63ID:sxLmg3yE
2019/03/03(日) 08:32:05.49ID:FmObGCcg
2019/03/03(日) 08:33:46.29ID:FmObGCcg
W系がデフォになったのもVS2005のVCからだし
2019/03/03(日) 08:41:45.26ID:FmObGCcg
TCHAR使って_UNICODEフラグ立てても
外人がchar感覚で配列いじくってるプログラムは多バイト圏でバグるよ
外人がchar感覚で配列いじくってるプログラムは多バイト圏でバグるよ
2019/03/03(日) 08:46:30.00ID:tUxcdoMS
https://web.archive.org/web/20140606085036/http://msdn.microsoft.com/ja-jp/library/windows/desktop/ff381407(v=vs.85).aspx
Unicode 関数と ANSI 関数
マイクロソフトが Windows に Unicode のサポートを導入したときは、
スムーズな移行を実現するために ANSI 文字列と Unicode 文字列のそれぞれに対応する 2 つの API を提供しました。
たとえば、ウィンドウのタイトル バーのテキストを設定する関数には次の 2 つがあります。
SetWindowTextA: ANSI 文字列を使用します。
SetWindowTextW: Unicode 文字列を使用します。
内部的には、ANSI バージョンは文字列を Unicode に変換しています。
また、Windows ヘッダーが定義するマクロによって Unicode バージョンに変換できます。
ここではプリプロセッサ シンボル UNICODE が定義されていると Unicode になり、定義されていない場合は ANSI バージョンになります。
#ifdef UNICODE
#define SetWindowText SetWindowTextW
#else
#define SetWindowText SetWindowTextA
#endif
MSDN では、この関数は SetWindowText の名称でドキュメント化されています。
ただしこれは実際の関数の名前ではなく、マクロ名です。
Unicode 関数と ANSI 関数
マイクロソフトが Windows に Unicode のサポートを導入したときは、
スムーズな移行を実現するために ANSI 文字列と Unicode 文字列のそれぞれに対応する 2 つの API を提供しました。
たとえば、ウィンドウのタイトル バーのテキストを設定する関数には次の 2 つがあります。
SetWindowTextA: ANSI 文字列を使用します。
SetWindowTextW: Unicode 文字列を使用します。
内部的には、ANSI バージョンは文字列を Unicode に変換しています。
また、Windows ヘッダーが定義するマクロによって Unicode バージョンに変換できます。
ここではプリプロセッサ シンボル UNICODE が定義されていると Unicode になり、定義されていない場合は ANSI バージョンになります。
#ifdef UNICODE
#define SetWindowText SetWindowTextW
#else
#define SetWindowText SetWindowTextA
#endif
MSDN では、この関数は SetWindowText の名称でドキュメント化されています。
ただしこれは実際の関数の名前ではなく、マクロ名です。
2019/03/03(日) 13:14:34.25ID:UGPBP+FA
2019/03/03(日) 13:34:19.53ID:1pyMh31m
UNICODEの定義で切り替わるけどANSIバージョンとUNICODEバージョンの両方に
きちんと対応したコードは少なくて大抵はどちらかに決め打ちだった
結果的にマクロで切り替えは無駄に複雑にしただけだった
きちんと対応したコードは少なくて大抵はどちらかに決め打ちだった
結果的にマクロで切り替えは無駄に複雑にしただけだった
2019/03/03(日) 13:42:28.82ID:F/LPV+rw
Wしか使わないように実装したつもりでもランタイム組み込むとAが混ざる。
2019/03/03(日) 13:48:40.02ID:FmObGCcg
関数名はAもWも書いてない
UNICODEを定義せずに
文字型はchar
これはA決め打ちと言ってもいい
UNICODEを定義せずに
文字型はchar
これはA決め打ちと言ってもいい
2019/03/03(日) 13:55:15.87ID:UGPBP+FA
>>903
> UNICODEの定義で切り替わるけどANSIバージョンとUNICODEバージョンの両方に
> きちんと対応したコードは少なくて大抵はどちらかに決め打ちだった
なんで両方に対応しなきゃいけなんだ?
Unicodeバージョンだけ作ればいいんだよ。
> UNICODEの定義で切り替わるけどANSIバージョンとUNICODEバージョンの両方に
> きちんと対応したコードは少なくて大抵はどちらかに決め打ちだった
なんで両方に対応しなきゃいけなんだ?
Unicodeバージョンだけ作ればいいんだよ。
2019/03/03(日) 13:56:42.63ID:UGPBP+FA
>>904
> Wしか使わないように実装したつもりでもランタイム組み込むとAが混ざる。
標準的なライブラリはすべてUnicode対応
サードパーティの古いライブラリなんか知らんわw
そのライブラリの問題だろ。
> Wしか使わないように実装したつもりでもランタイム組み込むとAが混ざる。
標準的なライブラリはすべてUnicode対応
サードパーティの古いライブラリなんか知らんわw
そのライブラリの問題だろ。
2019/03/03(日) 13:57:46.70ID:UGPBP+FA
909login:Penguin
2019/03/03(日) 15:43:28.14ID:QnjPbk4c linuxと互換性のあるプログラムを書こうと思ったらA決め打ちにせざるを得ない。
なぜかというとVisual StudioでUTF-16に相当するwchar_tの型サイズや使い道が、他のコンパイラでは異なるから。
多くの人が使っている64bit版WSLのgccは既定でwchar_tがUTF-32なのは周知の事実でしょうに。
試しにWSLのgccでsizeof(wchar_t)を出力するプログラムを書いてみればすぐわかる。
なぜかというとVisual StudioでUTF-16に相当するwchar_tの型サイズや使い道が、他のコンパイラでは異なるから。
多くの人が使っている64bit版WSLのgccは既定でwchar_tがUTF-32なのは周知の事実でしょうに。
試しにWSLのgccでsizeof(wchar_t)を出力するプログラムを書いてみればすぐわかる。
2019/03/03(日) 16:11:07.70ID:9h6OtHDD
まあ全部TCHAR系にしてun*x側で標準の(ワイドじゃない)文字列関数に展開するマクロを用意しとけば一応可能だけど
全体的にコードがキモくなるからやってるのはあんま見ないね
だいたいwmain用意しといて引数はさっさとUTF-8に変換して内部はchar*オンリーで
Windows依存のところでwchar*に戻すみたいなコードを入れてる気がする
ただそれもCJK圏の人が気を利かせてパッチ投げて追加されるなんて場合が多い感じだけど
全体的にコードがキモくなるからやってるのはあんま見ないね
だいたいwmain用意しといて引数はさっさとUTF-8に変換して内部はchar*オンリーで
Windows依存のところでwchar*に戻すみたいなコードを入れてる気がする
ただそれもCJK圏の人が気を利かせてパッチ投げて追加されるなんて場合が多い感じだけど
2019/03/03(日) 16:21:20.61ID:UGPBP+FA
> linuxと互換性のあるプログラムを書こうと思ったらA決め打ちにせざるを得ない。
だからマクロがあるんだろ。何を言ってるんだろうか?
もしかしてマクロの意味わかってない?
シンボルUNICODEで簡単に切り替えられるんだよ?
だからマクロがあるんだろ。何を言ってるんだろうか?
もしかしてマクロの意味わかってない?
シンボルUNICODEで簡単に切り替えられるんだよ?
2019/03/03(日) 16:26:40.30ID:UGPBP+FA
というか、そもそも言ってることがめちゃくちゃで、
AとかWというのはAPI呼び出しの話であって、
wchar_tとかには関係ない話。
> wchar_tがUTF-32なのは周知の事実でしょうに。
とかいうが、普通はLinuxではUTF-8を使うだろ?
おかしいよな?ちゃんと理由を説明できるかい?w
UTF-8に変換して内部charというのなら、Windowsでも内部charで扱えばいいだけだし、
API呼び出しは話が別で、内部をUTF-8(char型)にしてるならAを使うのは間違っている。(実体はUTF-8だから)
この場合はUTF-8をUTF-16に変換してWを使うのが正しい。
な?言ってることメチャクチャだろ?
こいつわかってないんだよ。
AとかWというのはAPI呼び出しの話であって、
wchar_tとかには関係ない話。
> wchar_tがUTF-32なのは周知の事実でしょうに。
とかいうが、普通はLinuxではUTF-8を使うだろ?
おかしいよな?ちゃんと理由を説明できるかい?w
UTF-8に変換して内部charというのなら、Windowsでも内部charで扱えばいいだけだし、
API呼び出しは話が別で、内部をUTF-8(char型)にしてるならAを使うのは間違っている。(実体はUTF-8だから)
この場合はUTF-8をUTF-16に変換してWを使うのが正しい。
な?言ってることメチャクチャだろ?
こいつわかってないんだよ。
2019/03/03(日) 16:45:47.18ID:F/LPV+rw
やっぱり、日本が悪いニダ!
914login:Penguin
2019/03/03(日) 17:21:16.60ID:QnjPbk4c 文字列に対する処理は、UTF8よりもUTF-16/32の方がコードを簡潔に書ける利点があるよ。
メモリ上はUTF-16/32、プロセス間のデータやりとりはUTF-8、という使い分けがさらに進んでいく気がする。
メモリ上はUTF-16/32、プロセス間のデータやりとりはUTF-8、という使い分けがさらに進んでいく気がする。
2019/03/03(日) 17:31:48.20ID:9h6OtHDD
サロゲートペアとか考えるともうUTF-16はいらない子だと思うんですけど!
2019/03/03(日) 18:29:12.90ID:pYe6Luxl
いつまで脱線続けるんだ?
2019/03/03(日) 19:51:28.44ID:NJPd5Ggk
>>914
文字に対する処理はライブラリを使わないとやってられないんだから
もうそんなレベルじゃない。逆にライブラリ使えばどっちでもいい。
漢字1文字が最大8バイト、Unicodeの「IVS」とは?
https://tech.nikkeibp.co.jp/it/article/COLUMN/20100126/343783/
> 最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、
> 漢字1文字は必ずしも4バイト以内に収まらない。UTF-8でもUTF-16でも、
> 最悪8バイトは必要になると考えられる。
文字に対する処理はライブラリを使わないとやってられないんだから
もうそんなレベルじゃない。逆にライブラリ使えばどっちでもいい。
漢字1文字が最大8バイト、Unicodeの「IVS」とは?
https://tech.nikkeibp.co.jp/it/article/COLUMN/20100126/343783/
> 最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、
> 漢字1文字は必ずしも4バイト以内に収まらない。UTF-8でもUTF-16でも、
> 最悪8バイトは必要になると考えられる。
918login:Penguin
2019/03/03(日) 20:42:27.22ID:QnjPbk4c2019/03/03(日) 20:55:52.27ID:NJPd5Ggk
知能の高い地球外生命体と遭遇したら、
その知能の高い地球外生命体が使ってる文字コードを使えばいい。
宇宙コード、universe code、通称 unicode
その知能の高い地球外生命体が使ってる文字コードを使えばいい。
宇宙コード、universe code、通称 unicode
920login:Penguin
2019/03/03(日) 21:10:40.68ID:QnjPbk4c 知能の高い地球外生命体が使ってる文字コードがしれっとロケールのひとつとしてとりこまれる悪夢に10000ペリカ
2019/03/03(日) 22:01:26.22ID:6s9AlSZU
知能の高い地球外生命体はchar=int=256bitとか使ってそうだがなあ
922872
2019/03/03(日) 22:36:41.09ID:ePOPdei3 >>901
まさにこれ!
Unicode は多国間で共通だけど、ANSI は各国で異なる。
ANSI は日本では、sjis になる
外人は、sjis を知らないし、
逆に日本人は、sjis 以外の他国の文字コードを知らない
外人は半角英数字で考えるから、char 配列で、1バイトずついじってくるから、
複数バイトで構成される文字で、バグる
まさにこれ!
Unicode は多国間で共通だけど、ANSI は各国で異なる。
ANSI は日本では、sjis になる
外人は、sjis を知らないし、
逆に日本人は、sjis 以外の他国の文字コードを知らない
外人は半角英数字で考えるから、char 配列で、1バイトずついじってくるから、
複数バイトで構成される文字で、バグる
923872
2019/03/03(日) 22:50:40.26ID:ePOPdei3 例えば、paiza.IO のサイトで、ブラウザからプログラミングしても、
日本語を入力すると、カーソル移動がおかしくなる。
日本語文字のバイト数分(3バイト?)、移動してしまう
外人には、こういうプログラミングが多い
また、Windows のRuby(MSYS2)で、irb で日本語があるとバグるけど、
WSLのRubyでは、バグらない!
これは、WSLでは、コマンドプロンプトと同じ画面を使っているから。
Windowsのコマンドプロンプト/PowerShell は、日本語でもバグらない
日本語を入力すると、カーソル移動がおかしくなる。
日本語文字のバイト数分(3バイト?)、移動してしまう
外人には、こういうプログラミングが多い
また、Windows のRuby(MSYS2)で、irb で日本語があるとバグるけど、
WSLのRubyでは、バグらない!
これは、WSLでは、コマンドプロンプトと同じ画面を使っているから。
Windowsのコマンドプロンプト/PowerShell は、日本語でもバグらない
2019/03/03(日) 23:06:38.98ID:MtblX4Xf
日本語を使う人がフィードバックしてないだけだと思うけど
コンソールアプリの日本語が化けるのはプレビューで去年踏んだが…
コンソールアプリの日本語が化けるのはプレビューで去年踏んだが…
2019/03/03(日) 23:18:59.09ID:F/LPV+rw
Cloud9だったら問題ないけどな・・・
プログラム書いてるやつのせいというより、処理系の問題かな。
プログラム書いてるやつのせいというより、処理系の問題かな。
2019/03/03(日) 23:26:41.02ID:6s9AlSZU
>>924
まだ治ってないよね、これ
まだ治ってないよね、これ
2019/03/03(日) 23:58:07.96ID:F/LPV+rw
そんなに嫌ならお前らがフィードバックしろw
928login:Penguin
2019/03/04(月) 00:00:22.63ID:/WEAn4u6 コマンドプロンプトで半角/全角を切り替えて入力しているとキーカーソルが表示されなくなる不具合がたまに起きるね。
コマンドプロンプトは地味に進歩しつつバグも生まれていっている。
コマンドプロンプトは地味に進歩しつつバグも生まれていっている。
2019/03/04(月) 00:06:35.36ID:iMeu/Dim
2019/03/04(月) 10:38:09.94ID:z8l/1Wf8
ゔぁー、荒れてるな。
上の方でX入れんと日本語扱えないじゃんって書いたのは俺だが、
単に標準のbashターミナルでは日本語入力できないじゃんってという純粋にWSL環境の話だったのに…
上の方でX入れんと日本語扱えないじゃんって書いたのは俺だが、
単に標準のbashターミナルでは日本語入力できないじゃんってという純粋にWSL環境の話だったのに…
2019/03/04(月) 10:48:42.31ID:q38WbcYi
このスレ数人スレチおじさんが常駐してるよな
2019/03/04(月) 11:05:05.18ID:zBAP+DEh
2019/03/04(月) 19:38:23.38ID:tJIpndqu
>>932
コンソールはwindowsのimeで日本語入力可能。vim, emacsコンソール版, nano
などで使える。
wslttyでも使える。
GUIはMozcなどで入力。
ubuntuなら、後者もググれば、情報あり。
コンソールはwindowsのimeで日本語入力可能。vim, emacsコンソール版, nano
などで使える。
wslttyでも使える。
GUIはMozcなどで入力。
ubuntuなら、後者もググれば、情報あり。
2019/03/04(月) 23:45:51.41ID:0O5iFNQk
>>928
それでカーソルが消えるのか
それでカーソルが消えるのか
935login:Penguin
2019/03/05(火) 07:41:27.96ID:ZEPlgBeF ローカルでLAMP開発したいんですがwslでやるのと仮想マシンでやるのは大きく違いはありますか?
後、PCのスペックがCORE i3の4GBなんですが仮想マシンでやると重くて作業にならないみたいな事になりますか?
後、PCのスペックがCORE i3の4GBなんですが仮想マシンでやると重くて作業にならないみたいな事になりますか?
2019/03/05(火) 08:15:03.31ID:ig8OZdTn
>>935
仮想マシンは固定でメモリを割り当てる必要があるから4GBだとかなり厳しい
仮想マシンは固定でメモリを割り当てる必要があるから4GBだとかなり厳しい
2019/03/05(火) 09:34:57.18ID:d2vvxE3w
4GBだとOSとブラウザだけで限界じゃないか?
2019/03/05(火) 10:16:36.20ID:qREuAF1T
サーバーだけなら1GBでもいける。
でも、Windows側でEclipseとかIDE立ち上げるときつそう。
PHPで開発するらしいし、Cloud9とかサーバーサイドで動くIDEを同じVMに作る手もあるけど・・・
でも、Windows側でEclipseとかIDE立ち上げるときつそう。
PHPで開発するらしいし、Cloud9とかサーバーサイドで動くIDEを同じVMに作る手もあるけど・・・
2019/03/05(火) 10:17:14.57ID:qREuAF1T
WSLにこだわるなら、これやってみる?
https://qiita.com/naniwaKun/items/b7b45a6e6ed33ce81eb9
https://qiita.com/naniwaKun/items/b7b45a6e6ed33ce81eb9
2019/03/05(火) 14:08:26.17ID:kqjQZcMD
ctrl-iで補完したりlsするだけでファイル探しにめっちゃ固まるな。
やっぱ根本的にディスクアクセス遅い。
やっぱ根本的にディスクアクセス遅い。
941login:Penguin
2019/03/05(火) 14:33:39.83ID:PDcF+gQj やはり4GBだと厳しんですねもうちょい良いやつ買えば良かった(-_-)ありがとうございます
cloud9ですか調べてみますねm(_ _)m
cloud9ですか調べてみますねm(_ _)m
2019/03/05(火) 15:16:40.33ID:OtAjqgTe
>>940
HDD?
HDD?
2019/03/05(火) 17:22:19.00ID:xgZ691KQ
正直言うと
それなら癖あってもラズパイ一台買ったほうがいい
それかもうPentium4とかでもいいからパソコン買ってそれに打ち込む
個人的おすすめはまだ現役でイケるcore2duoに4ギガ積んでxubuntuとかUbuntu Server, centosいれるほうがいい。
それなら癖あってもラズパイ一台買ったほうがいい
それかもうPentium4とかでもいいからパソコン買ってそれに打ち込む
個人的おすすめはまだ現役でイケるcore2duoに4ギガ積んでxubuntuとかUbuntu Server, centosいれるほうがいい。
2019/03/05(火) 17:27:48.86ID:qREuAF1T
DB、開発環境はWindows。
PHP、Apacheはラズパイか?
ラズパイ3以降はUSBのバスパワーじゃ動かないから、ACアダプター追加の投資がいるな。
まあ、ケース含めて一万もかからないけど、無印やZeroは貧弱するからLAMP
に向かない。
PHP、Apacheはラズパイか?
ラズパイ3以降はUSBのバスパワーじゃ動かないから、ACアダプター追加の投資がいるな。
まあ、ケース含めて一万もかからないけど、無印やZeroは貧弱するからLAMP
に向かない。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【速報】福原遥&久保建英、結婚を発表 [爆笑ゴリラ★]
- 【速報】福原遥(まいんちゃん)とサッカー日本代表の久保建英が電撃結婚 [爆笑ゴリラ★]
- 【野球】セ・リーグ S 5-1 G [10/2] ヤクルト山田哲人が勝ち越し2塁打 巨人の敗戦で阪神マジック1 [鉄チーズ烏★]
- 「日本中をまわった」1都10県で200件超空き巣繰り返し6900万円相当盗んだか ベトナム国籍の男(31)を逮捕 [♪♪♪★]
- 大阪・清風高校で「カンニング指導」後に生徒が自殺「無関係とは決して思っていない」両親が1億円余の損害賠償求める [七波羅探題★]
- 居住地で外国人増「いいと思わない」、41%に急増 交流は減少 …外国人が増えることに対して否定的な人は幸福度が低い傾向 ★3 [少考さん★]
- まいんちゃんと久保建英結婚 [268244553]
- 【実況】博衣こよりのえちえちこんこよ高校3026-2年目春甲子園-🧪
- 【悲報】まいんちゃん結婚
- アセ顔ダブルピース✌😅✌の🏡
- あちちめらのえちちなおちちのおうち🏡
- 安倍晋三(イケメン)、結婚 [748563222]