[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/08 15:17 / Filesize : 277 KB / Number-of Response : 1018
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part164



1 名前:デフォルトの名無しさん (ワッチョイ 33da-QP0H) mailto:sage [2023/05/09(火) 11:50:52.06 ID:EYc2I7oW0.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
C++相談室 part163
https://mevius.5ch.net/test/read.cgi/tech/1672409791/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

321 名前:デフォルトの名無しさん (テテンテンテン MM96-UmNC) mailto:sage [2023/06/23(金) 14:42:57.84 ID:XaN8/xk5M.net]
>>314
visual studioでできませんか?
visual studioに依存しないような形で

322 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) mailto:sage [2023/06/23(金) 14:49:06.12 ID:Xemzxb7u0.net]
>>316
依存するかしないかはプログラマが気を付けることだろ

323 名前:デフォルトの名無しさん (ワッチョイ 196e-ljvc) mailto:sage [2023/06/23(金) 14:58:36.88 ID:v++V1HM40.net]
>>316
つーか俺はVisual Studioを推奨する
コンパイラ本体が昔からしっかりしてるし
デバッガは無数の信者を抱えるクオリティ

324 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) mailto:sage [2023/06/23(金) 15:11:25.32 ID:Xemzxb7u0.net]
俺はコンパイラは複数を利用するのが好ましいと思う。
気を付けてても処理系に依存している (または未定義を踏んでいる) こともある。
いくつかのコンパイラで試してみれば問題点を発見しやすい。

発現した問題についてはデバッガなりなんなりで追えばいいんだが、
問題が潜伏したまま表面に現れないってのは後になってじわじわ効いてきたりするし……。

325 名前:デフォルトの名無しさん (アウアウウー Sacd-Hkv7) mailto:sage [2023/06/23(金) 16:11:46.79 ID:lCxAQSJFa.net]
>>299
デストラクタに直接リソース解放させるより
リソース解放用の dispose() みたいな関数を造っておいて
デストラクタから dispose() 呼ぶのと同時に
delete しないで dispose() だけ外から呼ぶ設計もあるよ

326 名前:デフォルトの名無しさん (アウアウウー Sacd-Hkv7) mailto:sage [2023/06/23(金) 16:14:47.39 ID:lCxAQSJFa.net]
>>313
Code::Blocks (+ mingw)

327 名前:デフォルトの名無しさん (ワッチョイ 69f0-J7ro) mailto:sage [2023/06/23(金) 18:47:00.64 ID:5tcqgCxE0.net]
コンパイラの本なにがいいのかオススメ聞いたらオッサンに聞いたら怪獣が書いてある本って云われて本屋行って買ったらあとで付録のFDD誰かにかっぱわられていタコとに気付いたけどその本一冊ではなんの役にも立たないクソみたいな本だったわ
そのあとオライリーのyacc&lexの本と早乙女氏のBison&Flex本で学び直したわ

328 名前:デフォルトの名無しさん (ワッチョイ 69f0-J7ro) mailto:sage [2023/06/23(金) 19:05:06.07 ID:5tcqgCxE0.net]
良く見たら全然違ったわw
https://i.imgur.com/DHAPVXR.jpg
yacc&lexが早乙女氏でBison&Flexが五月女氏でオライリーに似てるけどASCII出版やったわ

329 名前:デフォルトの名無しさん (テテンテンテン MM96-Axrn) mailto:sage [2023/06/23(金) 19:51:54.58 ID:s3XGk2XtM.net]
>>316
まず動くものを作ることに注力したほうがいい。
どうせ最初のコードは(問題領域の学習後に)捨てることになるから、プロトタイプと割り切るべき。あんまり頑張ると進捗悪くて挫折するし、うまく行ってもコンコルド効果で酷い目にあう。

>>310
確かに静的変数は自動だけど別物だな……よくやった。悔しいが褒めてやろう。



330 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0d3e-C6j3) mailto:sage [2023/06/23(金) 22:40:53.53 ID:Xemzxb7u0.net]
>>324
???
storage duration は四種類の内の「ひとつ」であることは直接的に明記されていて解釈の余地がない。
https://timsong-cpp.github.io/cppwp/n4861/basic.stc#1
兼ねる場合は存在しない。

331 名前:デフォルトの名無しさん (ワッチョイ 6501-2DXs) [2023/06/24(土) 08:29:33.32 ID:31MSzc3x0.net]
>まず動くものを作ることに注力したほうがいい。
+1票

>いくつかのコンパイラで試してみれば問題点を発見しやすい。
これはその通りだけど、もっともっと先の話

332 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/24(土) 09:51:19.10 ID:xNNc2oEW0.net]
動くといってもHello worldじゃあまりにもモチベーションに乏しいから
何でもいいから目的目標を持ったプログラムを書いたほうがいい

333 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) mailto:sage [2023/06/24(土) 12:57:29.18 ID:rXisqo0O0.net]
>>327
この話題の大元である >>313 でコンパイラを書くと書いてあるよ。

334 名前:デフォルトの名無しさん (ワッチョイ 6501-wYA+) [2023/06/24(土) 20:48:58.11 ID:rm+SB6K20.net]
ドラゴンブックでは?
誤植を指摘できるくらい読み込めば古典は理解できてると思う

335 名前:デフォルトの名無しさん (アウアウウー Sa69-F3wx) [2023/06/27(火) 14:41:09.50 ID:DdZG5nY/a.net]
いつまでも初心者を抜け出せない人は初心者本を読み過ぎ

336 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/27(火) 17:36:09.51 ID:59BI4JPS0.net]
初心者本は【ど】初心者のうちだけにしとけ
謙虚なことはいいことだが、ここだけは背伸びしたほうがいい

初心者本で何か知ったら、それで禿本がどのくらい読めるようになったかやってみれ
禿本が普通に読めるようになったら次はISOの規格票

337 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/27(火) 17:38:22.91 ID:59BI4JPS0.net]
逆もしかり
ISOの規格票であえなくギブしたら禿本
禿本でギブのとき初心者本に戻る感じな

338 名前:デフォルトの名無しさん (ワッチョイ 8d7c-BujW) mailto:sage [2023/06/27(火) 18:00:18.69 ID:h1cnuIf90.net]
特にC++は下手な参考書より規格の方が分かりやすかったりするからな…

339 名前:デフォルトの名無しさん (ワッチョイ dd4e-OfpS) mailto:sage [2023/06/27(火) 18:15:38.33 ID:D2orubkn0.net]
初心者へのアドバイスに禿本とかいう隠語をつかうのはどうかと思う



340 名前:デフォルトの名無しさん (ワッチョイ d5b3-q57E) mailto:sage [2023/06/27(火) 18:27:04.42 ID:KKkR5HKI0.net]
今独学でC++学んでいるんですが、たまたま見つけたサイトでint32_tとありましたが
int変数を宣言するのにint32_tなんて使いませんよね?
intでokですよね?

341 名前:デフォルトの名無しさん (ワッチョイ ad5f-VF0j) mailto:sage [2023/06/27(火) 18:34:12.56 ID:3myjDgNL0.net]
何に使うか次第

342 名前:デフォルトの名無しさん (ワッチョイ ad02-ES2+) mailto:sage [2023/06/27(火) 18:46:35.68 ID:gpD88JT50.net]
>>335
32ビット長である必要があるときだけint32_tを使えばいいよ

343 名前:デフォルトの名無しさん (ワッチョイ d5b3-q57E) mailto:sage [2023/06/27(火) 19:26:51.01 ID:KKkR5HKI0.net]
サンクス

344 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) mailto:sage [2023/06/27(火) 19:30:48.55 ID:wxXBe/Gr0.net]
>>335
int は言語仕様では少なくとも -32767 から 32767 を表現可能な幅 (つまり 16 ビット) を持つことが規定されている。
具体的な大きさは処理系定義であって、最低限である 16 ビットかもしれないしもっと大きいかもしれない。
扱おうとする値の範囲が 32 ビット分の幅が必要であると見積もったなら int32_t が適切なこともある。

ただ…… int32_t は「条件に合致する整数型を処理系が持っているなら必ず提供しなければならない」ということになっているので、逆に言えば 32 ビット幅の整数型を持たない処理系では int32_t が存在しないことが許される。
C++ は処理系定義ということにしている項目がたくさんあって移植性を考慮しようとするとすごく大変なんだが (プログラマが想定してさえいれば) ある程度に広く対応可能な仕組みとしてこういう回りくどいものがある。
初心者の内はとりあえず自分の環境で動くものを作れるようになるというので十分だと思うよ。

345 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/28(水) 05:36:22.40 ID:p/gJzJ+n0.net]
>>334
知らなきゃ聞くだろ

346 名前:デフォルトの名無しさん (スッップ Sd43-KhjG) mailto:sage [2023/06/28(水) 05:40:48.88 ID:PRZu9/2Od.net]
>>340
禿本って誰ですか?

347 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/28(水) 07:54:48.30 ID:p/gJzJ+n0.net]
Bjarne Stroustrup著 The C++ Programming Language
ISBN-10 4797375957

348 名前:デフォルトの名無しさん (ワッチョイ 856e-gmRT) mailto:sage [2023/06/28(水) 07:55:45.79 ID:p/gJzJ+n0.net]
禿のブログ
https://www.stroustrup.com/

349 名前:デフォルトの名無しさん (ワッチョイ dd4e-OfpS) mailto:sage [2023/06/28(水) 11:12:40.66 ID:MFKAAcNx0.net]
>>340
誰も知らないから隠語なんだよ
たまにいるよな、相手の知らないであろう単語を使ってマウントを取った気分になるやつ



350 名前:デフォルトの名無しさん (テテンテンテン MM4b-HUf/) mailto:sage [2023/06/28(水) 12:11:22.15 ID:gg0vhlU/M.net]
>>340
検索すると別人の本が出てくるから駄目だろ。

351 名前:デフォルトの名無しさん (ワッチョイ 23f0-OfpS) mailto:sage [2023/06/29(木) 00:03:54.47 ID:XHjEw6wR0.net]
C++でintと書けない理由はほぼほぼwindowsのintが32ビットと定義されているからで、
逆に言えば100% windowsで動かさないとあらかじめ分かっているならint使って書くよ

352 名前:デフォルトの名無しさん (ワッチョイ 4be5-O9q2) mailto:sage [2023/06/29(木) 07:49:46.01 ID:0UnKiO4J0.net]
せいぜい数十までの整数でも、いちいちint8_tになんかしねえな

353 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) mailto:sage [2023/06/29(木) 08:15:54.28 ID:l+ZsGqGg0.net]
巨大な配列なら話は別だが単発の整数がレジスタより小さくても得なことが無いからな。

354 名前:デフォルトの名無しさん (ワッチョイ 9dc9-3ptY) mailto:sage [2023/06/29(木) 08:19:17.75 ID:beCjxg/z0.net]
通信関連でペイロードに ビット長指定されてるのなんかは int○_t 使っときたい

355 名前:デフォルトの名無しさん (ワッチョイ 8590-bmws) mailto:sage [2023/06/29(木) 11:02:12.05 ID:prJHgW/t0.net]
intでもshortでもCPUの計算速度は同じ

356 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) mailto:sage [2023/06/29(木) 11:11:38.45 ID:l+ZsGqGg0.net]
四則演算では int より小さい整数は int に拡張する変換が入ることになってるし、
int を受け取る関数でも当然に変換されるので
変換する処理の分だけ素朴なコンパイラだと short のほうがコスト高になる可能性もある。

357 名前:デフォルトの名無しさん (ワッチョイ 8590-bmws) mailto:sage [2023/06/29(木) 11:21:22.19 ID:prJHgW/t0.net]
言葉足らずだったな
初学者向けに正確にいえば
ビット数の低い数値の型にしたからといって
計算速度が速くなるワケじゃない

理由はハチミツ氏の記述通り

358 名前:デフォルトの名無しさん (ワッチョイ 23f0-OfpS) mailto:sage [2023/06/29(木) 17:52:26.59 ID:XHjEw6wR0.net]
型のサイズが大きいほどキャッシュミスの確率が上がるし
ベクトル化の効率も関わってくるから話はそう簡単でもないけどな

359 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ dd3e-F8yx) mailto:sage [2023/06/29(木) 18:01:09.64 ID:l+ZsGqGg0.net]
チューニングが必要になったら実測しろってのはそういうことよな。
やってみるまでわからん。



360 名前:デフォルトの名無しさん (ワッチョイ 23ad-F8yx) mailto:sage [202 ]
[ここ壊れてます]

361 名前:3/06/30(金) 13:08:37.59 ID:fR+nHOGQ0.net mailto: やはり64bitCPUなら64bit整数が一番計算が速かったりするのかな []
[ここ壊れてます]

362 名前:デフォルトの名無しさん (ワッチョイ 05a7-7pYU) mailto:sage [2023/06/30(金) 13:38:31.87 ID:x+ZjTlP+0.net]
>>348
al、ah、axと小さなレジスタでやりくりすることによりスタックすらも使わずに複数の変数を操作することは可能になる
まあ汎用レジスタ数の多い64bitアプリ

363 名前:ではあんまりメリットにならんが []
[ここ壊れてます]

364 名前:デフォルトの名無しさん (ワッチョイ 4bf2-kZxR) mailto:sage [2023/06/30(金) 13:40:34.61 ID:GCvfqGNe0.net]
普通、intは32bitじゃないの?
普通の計算に64bitなんて使ったらキャッシュ効率悪すぎでしょ

365 名前:デフォルトの名無しさん (ワッチョイ dd4e-OfpS) mailto:sage [2023/06/30(金) 15:06:59.18 ID:4d5Im9Ce0.net]
多少のCPU内の計算速度差より、メモリアクセスのペナルティの方が遙かに影響でかいんだよね
昔、同じテキスト処理をsjisとutf16で速度比べたら、処理が複雑なはずのsjisの方がわずかに速かったこともあった

366 名前:デフォルトの名無しさん (ワッチョイ ad02-ES2+) mailto:sage [2023/06/30(金) 16:50:22.94 ID:4gqYGJxm0.net]
じゃあ16ビット整数使おうぜ!

367 名前:デフォルトの名無しさん (スッップ Sd43-+46M) [2023/06/30(金) 18:10:36.60 ID:diu+eantd.net]
ILP32
LLP64 windows: int32 long32 long long 64
LP64 unix: int32 long64 long long 64
ILP64 実装例なし

368 名前:デフォルトの名無しさん (スプッッ Sd03-+QuN) mailto:sage [2023/06/30(金) 18:16:08.64 ID:rpfOZ2Y1d.net]
>>358
自作エディタの内部文字コードに悩んでるけどもしかしてUTF8がええのかな

369 名前:デフォルトの名無しさん (ワッチョイ dd4e-OfpS) mailto:sage [2023/06/30(金) 18:31:33.16 ID:4d5Im9Ce0.net]
>>361
utf8は日本語3バイトになるし、冗長コードの問題もあるし、処理がより煩雑になるから内部処理コードには一番向かないと思う
エディタなら素直にutf32(もしくは16)で持つのが良いような気がする



370 名前:デフォルトの名無しさん (ワッチョイ 8d9c-HUf/) mailto:sage [2023/06/30(金) 18:50:30.08 ID:JeB1mWDr0.net]
>>362
utf16はサロゲートペアがあるから避けたほうがいい。
簡単に実装するならutf32、メモリを節約するならutf8。だけど、utf8が覇権だからutf8にしたら?

371 名前:デフォルトの名無しさん (ワッチョイ 8d7c-BujW) mailto:sage [2023/06/30(金) 18:53:22.37 ID:ccKyFSM70.net]
今から新規にエディタ作るなら内部はUTF32一択でしょ
それ以外を使う理由がない

372 名前:デフォルトの名無しさん (ワッチョイ dd4e-OfpS) mailto:sage [2023/06/30(金) 20:01:34.61 ID:4d5Im9Ce0.net]
>>363
サロゲートペアの判定は簡単だし、utf32でも厳密には1文字=1要素にはならないし、
メモリアクセス量との兼ね合いでより高速に動作しそうな気がするが…避ける理由がよく分からない

373 名前:デフォルトの名無しさん (ワッチョイ 9d10-56Vs) mailto:sage [2023/06/30(金) 20:23:00.32 ID:fhTbp4mH0.net]
今どきは絵文字とかも絡んでくるから「簡単に実装」なんてそうそう言えないと思うんだよね
性別やら肌の色で修飾みたいな複雑仕様を網羅する必要があるから

374 名前:デフォルトの名無しさん (ワッチョイ 8d7c-BujW) mailto:sage [2023/06/30(金) 21:27:23.31 ID:ccKyFSM70.net]
Unicodeの処理なんてただでさえ魔境なんだから減らせる複雑性は減らしといた方が良いよ
悪いこと言わないからUTF32にしとけ

375 名前:デフォルトの名無しさん (ワッチョイ e2ad-hRAP) mailto:sage [2023/07/01(土) 10:11:11.88 ID:6RngsvF70.net]
テキストエディタを自作すると一文字一文字の描画位置の計算を毎回しなければならず、結局全テキストをデータutf32形式で保持するのが楽という結論になりそう

376 名前:デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) mailto:sage [2023/07/01(土) 10:21:22.63 ID:zjPNSumQM.net]
そこまでやるとワープロやDTPの範疇では?

377 名前:デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [2023/07/01(土) 10:38:59.61 ID:oFUv7PIMp.net]
>>351
変換する処理ったって、普通static_castにコスト発生せんやろ

378 名前:デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [2023/07/01(土) 10:41:23.25 ID:oFUv7PIMp.net]
static_castというよりstatic_cast相当というべきか
もちろん浮動小数点数と整数だと命令いるけど

379 名前:デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) mailto:sage [2023/07/01(土) 10:43:45.44 ID:hNdT1t6QM.net]
レジスタの拡張命令が必要になる
それはゼロコストではない



380 名前:デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) mailto:sage [2023/07/01(土) 10:45:55.45 ID:hNdT1t6QM.net]
8bit,16bitの値を同サイズのレジスタに読む
それを32bitへ拡張する

381 名前:デフォルトの名無しさん (ササクッテロラ Sp5f-kcaK) [2023/07/01(土) 10:49:09.01 ID:UYNjOrxwp.net]
そうなのか、知らんかった・・・

382 名前:デフォルトの名無しさん (オイコラミネオ MMe7-+Mc8) mailto:sage [2023/07/01(土) 10:55:28.60 ID:hNdT1t6QM.net]
8bitしかないのに32bitで読むと当然ごみが入るので何かしないといけない
逆に8bitだけ読んで何もしないとこちらもレジスタにゴミが残ってる
何もしないで使える場合なにかしらの仕組みがある

そんなことするよりレジスタ拡張命令使った方がいい
通常の命令だけでなくてsimdにも用意されている

383 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) mailto:sage [2023/07/01(土) 10:57:02.19 ID:7zrd4+jP0.net]
俺も >>367 の意見に賛成。
UTF-32 の採用で何もかも良くなるわけではないが
少なくともコードポイント単位での扱いは楽になる。

384 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) mailto:sage [2023/07/01(土) 10:58:34.38 ID:7zrd4+jP0.net]
ちょうど Unicode 関連の本を読んでたんだが
右から左へ書く言語だとか
それが入れ子になってる場合だとか、
そういうのにちゃんと配慮したソフトウェアが世の中にあるのは
めちゃくちゃ頑張った人がいるんだなぁと有難みを感じてる。

385 名前:デフォルトの名無しさん (スププ Sd02-+VJx) [2023/07/01(土) 12:18:01.21 ID:W7avfgkdd.net]
日本語も右から左に書く言語だ
正確には上から下と右から左ニダ

386 名前:デフォルトの名無しさん (ワッチョイ 17f0-mXgB) mailto:sage [2023/07/01(土) 12:20:52.99 ID:86MprtLh0.net]
BiDiモード

387 名前:デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) mailto:sage [2023/07/01(土) 12:42:13.26 ID:ZV4XYgX9M.net]
世界でも珍しい縦書き文化

388 名前:デフォルトの名無しさん (ワッチョイ 0e79-p0MK) mailto:sage [2023/07/01(土) 15:53:40.98 ID:GgZZqhZy0.net]
UTF32派の人ってWin32でW系API通す時に毎回変換するってこと?

389 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 433e-hRAP) mailto:sage [2023/07/01(土) 16:08:08.30 ID:7zrd4+jP0.net]
>>381
そうだよ。
作るアプリケーションがエディタ (またはシーケンシャルではない
テキスト操作をする何か) であるという前提を置いているときなら
という条件付きな話だが。



390 名前:デフォルトの名無しさん (ワッチョイ e2ad-hRAP) mailto:sage [2023/07/01(土) 17:26:11.76 ID:6RngsvF70.net]
そもそもWin32でA系APIにutf8渡せないし

391 名前:デフォルトの名無しさん (ワッチョイ 7b9c-44el) [2023/07/01(土) 17:29:40.49 ID:ceIwatEY0.net]
A系にはutf8渡せるんじゃないの?

392 名前:デフォルトの名無しさん (ワッチョイ e2ad-hRAP) mailto:sage [2023/07/01(土) 17:36:11.93 ID:6RngsvF70.net]
渡せるという表現がまずかったかな
結果を気にしなければ、なんでも渡せるよ

393 名前:デフォルトの名無しさん (ワッチョイ 06f2-fGW2) mailto:sage [2023/07/01(土) 17:43:00.61 ID:XU86fDmw0.net]
>>384
Windows バージョン 1903 (2019 年 5 月の更新プログラム) 以降、ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。

394 名前:デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) mailto:sage [2023/07/01(土) 19:58:04.79 ID:Z2fZL/QQM.net]
A系はASCIIなのでunicode由来のutfもshift-jis などのMBCSも扱えない

395 名前:デフォルトの名無しさん (ワッチョイ 06f2-HE4y) mailto:sage [2023/07/01(土) 20:10:31.66 ID:XU86fDmw0.net]
>>387
最近までは、-A API がレガシと見なされていました。
これは、何十年もの間、Windows が "Unicode" -W バリアントを推進していたためです。
しかし、最近のリリースの Windows では、ANSI コード ページと -A API を活用し、
新しい SKU で UTF-8 サポートを導入しています。 ANSI コード ページが
UTF-8 に対して構成されている場合、-A API は UTF-8 で動作します。

396 名前:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) mailto:sage [2023/07/01(土) 20:13:40.75 ID:6ckc7dLGd.net]
>>387
以前からCP_ACPは日本語環境でシフトJISを扱えたはず。CP_ACPの解釈をCP_UTF8にすることができる設定と見なせる。

397 名前:デフォルトの名無しさん (ブーイモ MM8e-44el) [2023/07/01(土) 20:43:32.48 ID:B2exONcuM.net]
ASCIIしか考えてないアメリカ人の

398 名前:作ったプログラムでもUTF-8ならそれなりに動くよね
strlenが正確な文字数を返してくれるわけではないけども
[]
[ここ壊れてます]

399 名前:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd02-Ojup) mailto:sage [2023/07/01(土) 20:55:13.36 ID:6ckc7dLGd.net]
WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定すればUTF-8な環境でも動く。



400 名前:デフォルトの名無しさん (ワッチョイ 7f28-iz2R) mailto:sage [2023/07/01(土) 23:06:29.67 ID:5I1AeY3j0.net]
そうなの?
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定しただけだと
とりわけWideCharToMultiByte()の場合、文字コードの自動判別が介在する余地もなく、
ウィンドーズ内部表現のUTF-16がシフトJISのコードページ932に(指定通りに)変換されるだけなんじゃないの……

M$のページ見たら
>マニフェストの ActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました。
>マニフェストの ActiveCodePage プロパティを使って
と書いてあった
マニフェストファイル変えたら中で何がどう切り替わるのかわ皆目わからんが、
ただ単に変換APIの第一引数に明示的にシフトJISのコードページ932を指定したら万事OKというよりは得心が行く

401 名前:デフォルトの名無しさん (ワッチョイ 06f2-HE4y) mailto:sage [2023/07/02(日) 00:11:45.31 ID:26TSX02F0.net]
そういう話じゃない
〜A系のAPIの文字列引数にUTF8が使えるようになったという話だ

402 名前:デフォルトの名無しさん (ワッチョイ ce9a-EKe4) mailto:sage [2023/07/02(日) 00:28:14.28 ID:MfIRncIE0.net]
>>390
>strlenが正確な文字数を返してくれるわけではないけども
そもそも正確な文字数が必要な局面って?
そもそもUnicodeにおける「文字」って

403 名前:デフォルトの名無しさん (ラクッペペ MM8e-J/Sn) mailto:sage [2023/07/02(日) 00:43:33.66 ID:B6PMzb/YM.net]
A系ならstrlen、W系ならlstrlen使えば済む話では?

404 名前:デフォルトの名無しさん (ワッチョイ ce9a-EKe4) mailto:sage [2023/07/02(日) 01:40:17.87 ID:MfIRncIE0.net]
>>377
Unicode自体と同様、文句もあるけど世界中が規格化標準化されるのはやはり
有益な面があるなあと思ったり
言語を完全に知らなくてもそういう規則に従えばまあまあのものが出来る
そうやって自分もRTLなテキストを処理するコードを書いたことがあるし
日本語を(も)扱うコードだってどこかの外人が書いてるわけで

そうだ、日本語だって戦前はRTL。あれ、英語はどうしてたんだろ.... 敵性言語だから
ないことになってたのかなw

そういえば、テキストだけじゃなくてUIのレイアウトも変わるし、テキストのスクロール
方向とかも変わるし、注意が必要だったり

405 名前:デフォルトの名無しさん (ワッチョイ cb02-ctHD) [2023/07/02(日) 04:10:12.63 ID:3Rb9PhMu0.net]
Visual C++してもいいでしょうか?
特定の既定のライブラリの無視に「LIBCMT.lib」を設定して
マルチスレッド使っても大丈夫でしょうか?
もちろんランタイムライブラリの設定はマルチスレッドにしてます。
これでマルチスレッド使っても大丈夫でしょうか?

406 名前:0397 (ワッチョイ cb02-ctHD) [2023/07/02(日) 04:46:51.92 ID:3Rb9PhMu0.net]
ごめんなさい。自己解決しました。

407 名前:デフォルトの名無しさん (ワッチョイ 7f28-iz2R) mailto:sage [2023/07/02(日) 08:22:56.48 ID:cqAPSm8d0.net]
>>393
何言ってるかわからんkwsk
過去にCreateFile(L"漢字.txt", ...)で作ったファイルを、
WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定するだけで
CreateFileA(u8"漢字.txt", ...)で開けるようになったとしたら論理鉄器におかしい希ガス

408 名前:デフォルトの名無しさん (ワッチョイ c2fb-PY2F) [2023/07/02(日) 10:08:44.31 ID:idCQJgQa0.net]
環境依存の文字コードを取り扱うA系の関数でコードページ65001(UTF8)をサポートしたという話か?

「最近のリリースのWindows」とやらが何年ごろの話か知らんが

409 名前:デフォルトの名無しさん (オイコラミネオ MMe7-hRAP) mailto:sage [2023/07/02(日) 10:21:10.68 ID:FpcWXL3uM.net]
親切な人がいて上の方に書いてある



410 名前:デフォルトの名無しさん (ワッチョイ 7f28-iz2R) mailto:sage [2023/07/02(日) 11:09:45.90 ID:cqAPSm8d0.net]
書いて無くね↑?

411 名前:デフォルトの名無しさん (スププ Sd02-+VJx) [2023/07/02(日) 11:52:22.93 ID:R6FnNIs/d.net]
>>396
英文モールスや和文モールス信号(符号)は戦前からあるから参考になるよ

みごとに被ってるから

412 名前:デフォルトの名無しさん (アウアウウー Sabb-hiKC) mailto:sage [2023/07/02(日) 11:59:53.95 ID:BV1CApnra.net]
>>399
お舞の方が何言ってるかワカラン
>過去にCreateFile(L"漢字.txt", ...)で作ったファイルを、
>WideCharToMultiByteとMultiByteToWideCharの第一引数に明示的にシフトJISのコードページ932を指定するだけで
>CreateFileA(u8"漢字.txt", ...)で開けるようになったとしたら論理鉄器におかしい希ガス

CreateFile と WideCharToMultiByte/MultiByteToWideChar には何の関係も無いぞ
どちらかといえば setlocale/systemlocale とかの話してるなら判らんでもないが

413 名前:デフォルトの名無しさん (ワッチョイ 7f28-iz2R) mailto:sage [2023/07/02(日) 12:09:58.45 ID:cqAPSm8d0.net]
>>404
>>391

414 名前:デフォルトの名無しさん (ワッチョイ 7f28-iz2R) mailto:sage [2023/07/02(日) 12:12:15.47 ID:cqAPSm8d0.net]
んまーもちついて>>391を読めば
>UTF-8な環境でも
というのがActiveCodePage プロパティを使って、プロセスのコード ページとして UTF-8 を使うように強制できるようになりました環境(>>386
の意味なら分からなくも無いorz

415 名前:デフォルトの名無しさん (ワッチョイ ce9a-EKe4) mailto:sage [2023/07/02(日) 14:25:34.89 ID:MfIRncIE0.net]
>>403
>>396はエンコーディングの仕方の話ではないんですよね

疑問の答えはここにあった(と思う)
https://upload.wikimedia.org/wikipedia/commons/b/b3/Bank_of_Japan_silver_convertible_one_yen_banknote_1885.jpg

416 名前:デフォルトの名無しさん (アウアウウー Sabb-hiKC) [2023/07/02(日) 15:11:19.95 ID:BV1CApnra.net]
和氣清麻呂好き

417 名前:デフォルトの名無しさん (ササクッテロラ Sp5f-UEHP) [2023/07/03(月) 18:00:48.84 ID:+/doOPQlp.net]
組み込みの設計技法を学びたいんだけど、静的構造と動的構造の設計を学べるいい書物あったら教えてください

418 名前:デフォルトの名無しさん (テテンテンテン MM8e-CxeC) mailto:sage [2023/07/05(水) 19:37:47.51 ID:UfO9dhEIM.net]
>>409
古い人間だから、デザインパターン本ぐらいしか知らん。

C++テンプレート設計の良本てあったっけ?

419 名前:デフォルトの名無しさん (ワイーワ2 FFfa-QrII) mailto:sage [2023/07/05(水) 19:46:37.42 ID:98uidMYlF.net]
>>410
Modern C++ Designとか?



420 名前:デフォルトの名無しさん (ワッチョイ 7b7c-9nZq) mailto:sage [2023/07/05(水) 19:52:44.79 ID:tRsu2qbd0.net]
あれは魔術書過ぎてちょっと…C++03時代の本だから古いし

421 名前:デフォルトの名無しさん (オイコラミネオ MMe7-hRAP) mailto:sage [2023/07/05(水) 20:15:53.22 ID:XE8fk1ziM.net]
横からだけど組み込みは手続き型なのかイベントドリブンなのかも知らないので知りたいなw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef