[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
853: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/06/30(月) 13:32:07.78 ID:Bi14XNYeM C/C++は、(レンタル)サーバーサイドでも、ソースコードを盗まれないというメリットがある。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/853
854: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/06/30(月) 13:49:28.37 ID:Bi14XNYeM PHPは一見便利なように見えても、何をやっているのか不安が残る部分がある : ・文字コードの扱い。勝手に変換される可能性。それが脆弱性の原因になる可能性がある。 ・SessionID の管理のされ方。それがブラックボックスで余り説明が無いので危険。 ・文字列が「長さ指定文字列」と「0終端文字列」との二種類あり、デフォルトは前者だが、 正規表現系は後者である場合があり、それを知らないと脆弱性の原因になる。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/854
855: デフォルトの名無しさん (ワッチョイ 62f6-vcS6) [sage] 2025/06/30(月) 18:59:51.22 ID:YQWckD/50 最近はFPGAでコンピュータ作ってるけどメモリが4kbytesとかしかないのでC言語があると助かります。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/855
856: デフォルトの名無しさん (ワッチョイ fb06-1Wc0) [sage] 2025/06/30(月) 20:50:19.20 ID:YZeS8CxH0 アセンブラ使え http://mevius.5ch.net/test/read.cgi/tech/1721137434/856
857: デフォルトの名無しさん (ワッチョイ c379-SOZQ) [] 2025/06/30(月) 20:56:51.68 ID:i+8hTHYI0 そこまでのキツい環境ならC使わずにアセンブラ使えって思う http://mevius.5ch.net/test/read.cgi/tech/1721137434/857
858: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b32-T+w5) [sage] 2025/06/30(月) 20:57:51.84 ID:bv4WQiut0 その規模なら C で書くにしても配慮すべき低レイヤの事情がありすぎてあまり C の甲斐がなさそうだと私も思う。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/858
859: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 02:30:13.65 ID:LkiphQyhM PHPの文字列は、1つの文字列の中でも、文字によってバイト数が異なるそうだ。 だから、$str[$k] の $k は、文字単位ではなくバイト単位。 文字単位で指定したい場合には、 mb_substr($str, $k, 1, "UTF-8") とするとのこと。 文字列の終端には一応 0x00 が入っているが、文字の長さはバイト数で管理されており、0を 終端とはみなしていない。だから、文字コードが 0x00 の文字も文字列の中に含めることが可能。 $str = "こんにちは"; echo strlen($str); // バイト数(UTF-8なら15) echo mb_strlen($str); // 文字数(5文字) ところが、正規表現を扱う場合には、0x00 のバイトが含まれていると、文字列の終端と みなされることがある。だから、ユーザーによって入力された文字列を正規表現で 安全チェックをしたつもりでも、文字列の途中に 0x00 のバイトが含まれていて、 それ以後に危険なコードをが含まれている倍がある。 C言語で作っていれば子の様な齟齬は起きない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/859
860: デフォルトの名無しさん (ワッチョイ 5f98-4xcB) [sage] 2025/07/01(火) 05:48:42.66 ID:M5z4vIa80 >>859 × > PHPの文字列は ○ unicodeは × > C言語で作っていれば ○ asciiに限定すれば お前は基本的なところがまるで理解出来てない そもそも文字コードの話なのだから、どの言語でも同じ 特定の言語を使用すると回避出来るとかいう話にはなり得ない http://mevius.5ch.net/test/read.cgi/tech/1721137434/860
861: デフォルトの名無しさん (ワッチョイ 5f98-4xcB) [sage] 2025/07/01(火) 06:18:52.12 ID:M5z4vIa80 と思ったが、もしかして最近の言語はutf-8をネイティブサポートしていて、(=内部文字列がutf-8) この辺を全部自動的に回避出来るのか?(=プログラマに文字コードの知識が全く必要ない) Cはutf以前だから勿論サポート無し PHPはWeb言語だから文字列=バイトストリーム扱いで、共用体が駆使されるネット向けになってるだけ JSはutf-16だったがサロゲートペア導入でAPIが2つある(サロゲートペア対応版と非対応版) Rustは知らんが、さらっと調べた限りutf-8で、逆にインデックスアクセスが出来ないらしい(3文字目を[3]で取得出来ない) ただこれだと遅くなるだけなので、Cを駆逐したいと言いながら便利さを追求してるRustは迷走してる Pythonは、どうやら全自動で出来るみたいね… http://mevius.5ch.net/test/read.cgi/tech/1721137434/861
862: デフォルトの名無しさん (ブーイモ MM02-nkZs) [sage] 2025/07/01(火) 08:38:13.77 ID:WjfKubzqM >>860 859は別に間違ったこと言ってないでしょ そこまで上から目線で言いたいならunicodeは書記素クラスタで考えないといけないので可変、ぐらい言わないとね コードポイントならUTF-32は4バイト固定だし むしろc言語はasciiという言い方は複数の意味でおかしい http://mevius.5ch.net/test/read.cgi/tech/1721137434/862
863: デフォルトの名無しさん (ワッチョイ 5f01-4xcB) [sage] 2025/07/01(火) 09:47:54.97 ID:M5z4vIa80 >>862 俺は859は根本的に勘違いしてる(≒間違っている)という見方を今も変えてないが、 少なくとも862の方が詳しいようだから(859の相手は)お前に任せるわ。 俺より詳しい奴が居る場所で俺が説法する意味もなく、 馬鹿と初心者が無限に沸くネットで間違いを全部指摘して回るのは無理だし。 下から目線のゆとりZ様同士でよろしくやってくれ。 どのみち俺とお前らではどうやっても合わないのはこれまでも散々経験してきた事だ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/863
864: デフォルトの名無しさん (ワッチョイ 5f01-4xcB) [sage] 2025/07/01(火) 09:48:28.12 ID:M5z4vIa80 とはいえ一応内容について触れておくと、 > 書記素クラスタ 重ね文字等の事は知ってるぞ。ただ俺はこれは仕様が決まってないかと思っていたのだが、一応あるんだな。 http://unicode.org/reports/tr29/ ただこれ、問題は"Unicode 16.0.0"と、バージョンがやたら高い事にあると思う。 自然言語が既に16回も改訂してるわけはないので、中途半端な仕様を決め、改訂しまくってるという事だから。 今の仕様で実装しても、出来上がる頃には仕様が改訂されている事もあり得る。 > コードポイントならUTF-32は4バイト固定だし 当然これも知ってるが、現実的にutf-32を使う事はほぼあり得ないだろ。 文字列処理は結局の所速度/メモリ重視だから、utf-32ではコードは書きやすいかもだが使い物にならない。 つかこの辺859に言ったところで通じるわけもなく、マウントが目的になってるのはお前の方だ。 だからこそ「上から目線」に過度に敏感なのがゆとりZの傾向でもあるが。 > むしろc言語はasciiという言い方は複数の意味でおかしい 話を続ける気があるなら、何の事なのかもう少し具体的に言え。 まあ一言ずつに纏めると、 859: PHPは文字の扱いに色々問題があるが、C言語にはない 860: お前は根本的に間違ってるから、文字コードについて勉強し直せ ← 859に通じる範囲で返事してる 862: 俺の方が詳しいのに上から目線ウゼエ ← マウントを取り返しただけで、859に通じるようには書いてない ここら辺がゆとりZがコミュ障な所だ。 まあそれでもお互いにやるのは自由、よろしくやってくれ。 俺は降りる。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/864
865: デフォルトの名無しさん (ワッチョイ c379-SOZQ) [] 2025/07/01(火) 10:03:19.08 ID:0aieN+8C0 普通に何も考えずに使ってて問題起きないならstrlen以外にもmbslenとかwcslenみたいなのを用意されることはないんだよな http://mevius.5ch.net/test/read.cgi/tech/1721137434/865
866: デフォルトの名無しさん (ワッチョイ 7f7b-4xcB) [sage] 2025/07/01(火) 10:07:53.62 ID:O7C1rCRT0 ああついでに言っておくと、 ゆとり以前(=俺):内容が正しければ態度なんてどうでもいい ゆとりZ:ボクがどんなにマヌケな間違いをしていたとしても、 優しく丁寧に教えてくれる事が絶対条件で、 優しければ内容が多少間違っていても許容される(←いやこれは俺は許容出来ねえ) という違いだな。まあゆとりZ同士でよろしくやってくれ。 ただまあ、Qiitaのスレとかチラ見してるが、 発言の自由がある=どんな馬鹿でも発言出来る=間違った情報も当然発信される、なのだから、 Qiitaに正確性を求めるのは仕様的に無理なので、連中も間違ってて、 Qiitaは玉石混淆な上で、石が大量生産されるのは仕様として甘受し、玉を探すべきだとは思うがな。 とはいえQiitaが石→玉化する機構を持ち合わせられない(=間違いを指摘する事すら出来ない) のは上記ゆとりZ価値観の賜だから、詰んではいるが、それでも(Qiitaというサイトが)無いよりは断然いいし。 つまりだな、お前らゆとりZは「上から目線ガー」とか一々やってるから駄目なのであって、 「相手」(今回は859)に向き合う気がないから、 Qiita等の「一方的に発信するだけ」のツールは断然相性がいいが、 そこで「双方向な議論」とかはまるで出来ないんだと思うぜ。 859にとって困るのは、「上から目線」ではなく、「間違いを指摘してもらえない」事だろ。 (ただこれがゆとりZに取っては違うらしいので俺にはどうにも合わないが) http://mevius.5ch.net/test/read.cgi/tech/1721137434/866
867: デフォルトの名無しさん (ワッチョイ 5f01-4xcB) [sage] 2025/07/01(火) 10:57:25.82 ID:M5z4vIa80 リンクは以下の方がよかったかも https://hydrocul.github.io/wiki/blog/2015/1025-unicode-grapheme-clusters.html > Grapheme cluster の境界定義 > CR の次に LF が続く箇所は境界にならない これだとCRLFは一文字扱いだから、utf-8の0x7f以下だけ使っても(厳密には)asciiとは違うって事か? なんで一々仕様を無駄に変更するのだ?という気はするが、 見てる限りunicodeって自然言語学者が策定してる仕様で、プログラミングのし易さなんてまるで考慮して無いな http://mevius.5ch.net/test/read.cgi/tech/1721137434/867
868: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 16:58:38.98 ID:W1sziXWKM PHPに限らず、文字コードを勝手にいじくる言語は脆弱性の温床になる。 C言語は指示しない限りは何もしないから、むしろ安全。 860は、馬鹿だから理解できない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/868
869: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 17:04:55.37 ID:W1sziXWKM 中途半端に自動化しようとしていることが脆弱性の温床になる。 詳細な仕様を書かないで「こういう場合にはこうすれば安全ですよ」 みたいなのが結構危ない。 なぜ、そうするのか。その関数は厳密に何を行っているのか。 「簡易言語」には、そういう情報が欠落していることが多い。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/869
870: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 17:07:29.61 ID:W1sziXWKM フレームワークも危険だ。 「完成品」として何もカスタマイズしないで使っているなら、安全かもしれない。 ところが、「プラグイン」と呼ばれているものを組み合わせたり、 独自にカスタマイズしようとすると、とたんに危険になる。 なぜなら、仕組みが分かりにくく、ソースが巨大で解読しにくいことが多いからだ。 特に問題なのはオープンソースのフレームワークだ。 ソースが汚いものが多いから、それが原因で理解が難しくなり、脆弱性が入り込む。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/870
871: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 17:10:17.61 ID:W1sziXWKM 860は、物事の理解が甘い。 自分が馬鹿なことに気付いてない。 5chだけで偉そうにしている馬鹿。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/871
872: デフォルトの名無しさん (ワッチョイ c3ef-OGY2) [] 2025/07/01(火) 17:12:20.54 ID:rc7NgUjs0 自己紹介ですか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/872
873: デフォルトの名無しさん (オイコラミネオ MM6b-fGW2) [sage] 2025/07/01(火) 17:15:03.47 ID:W1sziXWKM >>872 おまえは、自覚が無い馬鹿だ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/873
874: デフォルトの名無しさん (ワッチョイ c379-SOZQ) [] 2025/07/01(火) 17:41:41.27 ID:0aieN+8C0 全然違う話になったぞ??? http://mevius.5ch.net/test/read.cgi/tech/1721137434/874
875: デフォルトの名無しさん (ワッチョイ 7748-ar6z) [sage] 2025/07/01(火) 19:57:14.17 ID:4pZHV5xo0 けどさ 今のWindowsって内部的にはUTF16LEなんだよな それをアプリ側に合わせてマルチバイトに変換したりしてるわけで http://mevius.5ch.net/test/read.cgi/tech/1721137434/875
876: デフォルトの名無しさん (ワッチョイ 5ffc-4xcB) [sage] 2025/07/01(火) 20:03:31.00 ID:M5z4vIa80 >>874 まあ859もゆとりZだったというオチだよ。 見えてた展開ではあったが、放置するのも問題かと思って最低限のツッコミを860でしたつもりだったが、 ゆとりZが釣れまくってどうにもならねえ。脱線しすぎ。 5chにはコミュ障が多いのでついでに解説しとくと、 859のテイ、何だかよく分からん独り言は、ゆとりZ特有のムーブで、 ・質問して答えてもらえないと傷つくし、 ・議論提起してボコられたら嫌だし、 ・何だかよく分からん独り言にしとけば、どういう展開になっても逃げられるし!!! って事で、傷つかない為に予防線張りまくりの戦術、連中なりの「コミュ上手」な手法らしい。 いやいや、お前ら一々メンドクセエわ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/876
877: デフォルトの名無しさん (ワッチョイ 5ffc-4xcB) [sage] 2025/07/01(火) 20:04:09.01 ID:M5z4vIa80 >>868 > 860は、馬鹿だから理解できない。 お前がどう思おうと自由だが、さすがに俺よりお前の方が賢いと思う奴は居ないと思うぞ。 まあこれも862と同様のゆとりZ特有ムーブで、「ばかにされた!!!」事が内容に勝ってる。 いやいや、お前がそもそもマヌケな事を言わなければ防げた展開だろ、とはならない。 > PHPに限らず、文字コードを勝手にいじくる言語は脆弱性の温床になる。 > 特に問題なのはオープンソースのフレームワークだ 少なくとも今のお前より理解してる連中が作ってるから、 今のお前の知識と知能で作った物よりは安全だろうよ。 ついでに言うとこれもゆとりZの特徴で、 心根で他人を見下してるからこんな発言になるし、また、 心根で他人に対してマウントを取りたい、上から目線で話したい、と思ってて、でも我慢してるからこそ、「上から目線」に過敏になる。 オープンソースにゴミが多いのも事実としても、 同じ物を作るのはかなり大変なのも、結果的に生き残ってる物はそれなりに鍛えられた品質なのも事実。 各言語処理系なんて相当の人数が関わって改善された結果だから、同等以上の品質の物を作るのは事実上無理だと思うけど。 ゆとりZは「謎の心根の『上から目線』」がありすぎ。 それでいて「表面的な『上から目線』」にゼロトレランスなのはちゃんちゃらおかしいのだが、まあ連中はここら辺を矛盾に感じないらしい。 連中は表面的なコミュニケーションしか出来てないってのがこの辺から分かる。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/877
878: デフォルトの名無しさん (ワッチョイ 7f7b-4xcB) [sage] 2025/07/01(火) 20:14:50.32 ID:O7C1rCRT0 >>875 それは正しいよ。 サロゲートペア以前はutf-16が各国文字を固定長で扱える(多分)唯一のエンコードだったから、 ローカライズ前提のwindowsの内部コードをutf-16で作るのは正しい。 逆に言えば、サロゲートペア以前はutf-32なんて使う意味なく、実際使われてもなかったはず。 今固定長に拘るならutf-32しかないけど、Rustがutf-8を選択したのは、utf-32は使い物にならないという判断のはず。 (まあゆとりZなら「俺の判断の方が正しい」となるのだろうが、 俺の心根はそこまで「上から目線」ではないので、Rust陣営の判断はそれなりに尊重する。 なおRust信者は死ねと常々思っているが、それとこれとは別の話) http://mevius.5ch.net/test/read.cgi/tech/1721137434/878
879: デフォルトの名無しさん (ワッチョイ 7748-ar6z) [sage] 2025/07/01(火) 20:20:08.26 ID:4pZHV5xo0 そうではなく OSレベルで自動変換が行われているのに 言語レベルの自動変換に文句言うのもなんだなぁと そういう話 http://mevius.5ch.net/test/read.cgi/tech/1721137434/879
880: デフォルトの名無しさん (ワッチョイ 5ffc-4xcB) [sage] 2025/07/01(火) 20:35:01.95 ID:M5z4vIa80 >>879 その意味なら、OSレベルの自動変換はされてないぞ。 例えば、SJISファイルはSJISファイルとして保存されてるだろ。 Windowsに保存する限りあらゆるファイルが自動的にutf-16にされ、 もう二度と各ファイルのエンコードを気にする必要がないのなら、大半の人はこの方が助かるとは思うが。(俺もこれでいい) 同様に、.NETでファイルストリームを開いたら、あらゆるエンコードが自動的にutf-16になって見える、って事もないだろ。 (APIチラ見する限り、Text.Encodingがあるから手動で切り換えのはず) ただこれを目指した物がBOMなのだろうけど、上手く機能してるとは思えないね。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/880
881: デフォルトの名無しさん (ワッチョイ 7748-ar6z) [sage] 2025/07/01(火) 20:40:05.31 ID:4pZHV5xo0 sjisファイルを読み込んでメモ帳で表示させる場合、内部のレンダリングエンジンとかはutf16に変換されたものじゃねえの? それをまたsjisで保存する際には変換されてる http://mevius.5ch.net/test/read.cgi/tech/1721137434/881
882: デフォルトの名無しさん (ワッチョイ 7748-ar6z) [sage] 2025/07/01(火) 20:41:51.49 ID:4pZHV5xo0 winapiのA系もutf16に変換されてる表示されているんじゃないの? http://mevius.5ch.net/test/read.cgi/tech/1721137434/882
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 120 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s