[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
693: デフォルトの名無しさん (ワッチョイ aeb7-/OIl) [sage] 2025/02/24(月) 17:22:09.48 ID:qLUUxQg70 まあコンパイラの最適化バグである可能性もないわけではないがな http://mevius.5ch.net/test/read.cgi/tech/1721137434/693
694: デフォルトの名無しさん (ワッチョイ b691-M1fQ) [sage] 2025/02/24(月) 20:28:13.00 ID:V/nislFh0 組み込み分野だと最適化によりデバッグがしづらくなることが多い。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/694
695: 警備員[Lv.1][新芽] (ワッチョイ d5f7-a+6O) [sage] 2025/02/24(月) 21:56:17.54 ID:JeKlmQzN0 gccで -O2 なし -Wall ありでコンパイルすると strict aliasing の警告がでないけど、 -O2 -Wall ありだと strict aliasing の警告が出るケースに当たったのだけど、 strict aliasing って安全に最適化するためのアレなのですかね(最適化しないときは strict aliasing には無頓着) http://mevius.5ch.net/test/read.cgi/tech/1721137434/695
696: デフォルトの名無しさん (ワッチョイ d5a2-eBms) [] 2025/02/24(月) 22:52:40.44 ID:ifUFLigf0 この人たちホントgccが大好きだよね http://mevius.5ch.net/test/read.cgi/tech/1721137434/696
697: デフォルトの名無しさん (ワッチョイ 76a1-x4eQ) [sage] 2025/02/24(月) 23:27:53.22 ID:LsxokMxo0 gccはいろんな環境で動かせるので便利ではある http://mevius.5ch.net/test/read.cgi/tech/1721137434/697
698: デフォルトの名無しさん (ワッチョイ ae76-A0+M) [sage] 2025/02/25(火) 01:13:30.67 ID:t+eQGWY+0 >>694 それ組み込み関係ないから http://mevius.5ch.net/test/read.cgi/tech/1721137434/698
699: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-FOV+) [sage] 2025/02/25(火) 08:31:05.22 ID:6jOr+W/20 >>695 警告を出すためには警告の条件に引っ掛かっていることがわからないといけないという単純な前提がある。 結果を使いもしないのに警告のためだけにエイリアス解析を頑張るのは合理的か? http://mevius.5ch.net/test/read.cgi/tech/1721137434/699
700: デフォルトの名無しさん (ワッチョイ b6e5-M1fQ) [sage] 2025/02/25(火) 09:04:02.65 ID:ODzMt1Nm0 >>698 そうだった http://mevius.5ch.net/test/read.cgi/tech/1721137434/700
701: 警備員[Lv.1][新芽] (ワッチョイ d56d-a+6O) [sage] 2025/02/25(火) 23:42:18.97 ID:MFbkYyJ10 >>699 最適化しないときは strict aliasing が不要なものなんですかね(最適化のための strict aliasing なんですかね)というつもりで書いたのだけど、分かりにくくてすまんね http://mevius.5ch.net/test/read.cgi/tech/1721137434/701
702: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-Ah42) [sage] 2025/02/26(水) 10:14:24.43 ID:6jOr+W/20 >>701 少なくとも GCC や Clang では strict aliasing rules は最適化のためのものという認識で正しいよ。 -fstrict-aliasing (やこれらを含む -O2 以上の最適化) が有効になっているときに限りエイリアスベースの最適化をするし、そのときだけ strict aliasing rules が守られていることを要求する。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/702
703: デフォルトの名無しさん (ワッチョイ 317b-/OIl) [sage] 2025/02/26(水) 11:04:16.19 ID:x+jOZkKw0 strict aliasing rulesを守らないと未定義動作となるのはC言語の決まりなので特定の処理系で問題ないから守らなくて良いという考えは馬鹿のすること http://mevius.5ch.net/test/read.cgi/tech/1721137434/703
704: デフォルトの名無しさん (ワッチョイ ae51-A0+M) [sage] 2025/02/26(水) 11:20:14.18 ID:t+eQGWY+0 というかstrict aliasing rulesをわかってるやつがあえて守らないって考えにくいでしょ このスレを見てわかる通りわかってないやつらが大半 http://mevius.5ch.net/test/read.cgi/tech/1721137434/704
705: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-Ah42) [sage] 2025/02/26(水) 11:38:18.47 ID:6jOr+W/20 ビットパターンを別の型で読み替える可能性があるなら最初から union で書いておいたほうが人にとっても読みやすいしな。 (C++ では union でも common initial sequence の読み替えしか許しておらず、 C より制約が厳しいので注意。) http://mevius.5ch.net/test/read.cgi/tech/1721137434/705
706: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-FOV+) [sage] 2025/02/26(水) 15:23:36.19 ID:6jOr+W/20 >>703 未定義は「規格としては何も要求しない」なので処理系が何らかの追加保証をすることを禁じてない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/706
707: デフォルトの名無しさん (ワッチョイ 317b-/OIl) [sage] 2025/02/26(水) 15:45:51.57 ID:x+jOZkKw0 特定の処理系と心中するつもりでstrict aliasing rulesを守らない奴がいたらすごい馬鹿 http://mevius.5ch.net/test/read.cgi/tech/1721137434/707
708: 警備員[Lv.5][新芽] (ワッチョイ 09df-a+6O) [sage] 2025/02/26(水) 23:04:05.93 ID:0kyhL3S/0 >>702 助言をありがとうございます!! >>701 より http://mevius.5ch.net/test/read.cgi/tech/1721137434/708
709: デフォルトの名無しさん (ワッチョイ b691-M1fQ) [sage] 2025/02/27(木) 00:09:51.30 ID:oCSgSskf0 >>707 移植しないなら別にいいんじゃないの http://mevius.5ch.net/test/read.cgi/tech/1721137434/709
710: デフォルトの名無しさん (ワッチョイ 0a20-/OIl) [sage] 2025/02/27(木) 08:29:36.37 ID:Uw13P3Kf0 >>709 将来の更新の可能性も考慮しないわけね http://mevius.5ch.net/test/read.cgi/tech/1721137434/710
711: デフォルトの名無しさん (ワッチョイ 0d01-Ah42) [sage] 2025/02/27(木) 09:04:57.33 ID:smeEQtfp0 だから将来も移植しないんだろ http://mevius.5ch.net/test/read.cgi/tech/1721137434/711
712: デフォルトの名無しさん (ワッチョイ 0a20-/OIl) [sage] 2025/02/27(木) 09:23:08.30 ID:Uw13P3Kf0 移植と更新は違うぞw http://mevius.5ch.net/test/read.cgi/tech/1721137434/712
713: デフォルトの名無しさん (ブーイモ MMbd-A0+M) [sage] 2025/02/27(木) 10:21:51.11 ID:6jIPAcTSM そのどうでもいい仮定話いつまでやんの? http://mevius.5ch.net/test/read.cgi/tech/1721137434/713
714: デフォルトの名無しさん (ワッチョイ 6a33-X0JC) [sage] 2025/02/27(木) 22:25:43.54 ID:rdt/oSxr0 【帰化朝鮮人を論破】 日本は帰化朝鮮系の家系の人間によって隣国の大韓民国と北朝鮮に侵略行為を受けている 彼らがやっていることは「差別」を盾にした日本人を対象にした迫害であり「民族浄化」である 国際法でもこのような行為は決して許されていない しかし何となく加害者が日本人で、差別されているの朝鮮系と言う意識を刷り込まれて彼らに遠慮してないか? 事実は逆である、加害者は彼らの方で迫害されているのは日本人である、まずこの意識を共有しよう なぜそうなっているのか? 新聞、出版社、司法、テレビ局、会社の起業家、大学教授などが帰化系の人間で徒党を組み 日本人を差別、排除してまるで日本人であるかのように振舞っているからである テレビに映り世論を形成している人間が日本人の振りをして韓国、北朝鮮に有利になるように論調を組み、 日本を支配し、日本人が朝鮮人に隷属することを強要している これが侵略行為以外のなんなのか? なぜ日本人が日本で差別の対象にならなければいけないのか? 帰化系が起業し外部の朝鮮系と通じ合い会社を成功させる、または帰化系が既存の会社組織でトップに居座り 管理職を帰化人系のみで固め、日本人は閑職に追いやられ、パワハラで辞職に追い込まれ その会社の技術を朝鮮半島に流出させ、日本企業が競争力を失っていく 芸能人、テレビ局員、スポーツ選手(五輪代表、野球、サッカー)、報道関係者は帰化系で独占されている もはやテレビに映る人間はほとんど日本人ではないと考えろ では何をするべきか? もはや野党はほぼ全員、もはや自民党も過半数以上は帰化朝鮮人系の家系の人間が国会議員を占有しつつある まず「政治家に立候補する時、外国の家系の人間か否かを公表する」を提出して過半の賛成を取って立法化しよう 国際的にもごく一般的で、アメリカでも何系かはすべて明らかにされている そうなると帰化人の家系の人間に支配されたメディアは差別だと糾弾し始め帰化人たちが暴動やら起こすだろう、 日本は荒廃の一途を辿る、内戦状態に近いものになる だがそれは当然のこと、国内で隣国の人間による侵略行為、民族浄化行為を受けているのだから 時間はあまりない、やつらが過半数を確保してからでは遅い、韓国北朝鮮に占領されてしまう 日本人よ、まず声を上げるのだ http://mevius.5ch.net/test/read.cgi/tech/1721137434/714
715: デフォルトの名無しさん (ワッチョイ 76a1-x4eQ) [sage] 2025/02/27(木) 22:56:45.28 ID:c6/rsZNB0 まず統一を潰さないと http://mevius.5ch.net/test/read.cgi/tech/1721137434/715
716: デフォルトの名無しさん (ワッチョイ 6d07-Ah42) [sage] 2025/02/28(金) 00:14:09.12 ID:FWjziINm0 >>713 次のお題が来るまで(w 我流独習マン(俺含む)には、こそっとありがたい話 ややもするとすぐ浦島になっちまうw http://mevius.5ch.net/test/read.cgi/tech/1721137434/716
717: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-Ah42) [sage] 2025/02/28(金) 10:32:16.41 ID:aDguz5rE0 >>705 念のために確認してたら union のメンバを他の型の違うメンバで読み替えて良い規則は JIS (JISX3010:2003) には書いてないっぽい。 欠陥報告で後から修正したから JIS を出した時点では原文にも書いてなかったんだな。 https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_283.htm http://mevius.5ch.net/test/read.cgi/tech/1721137434/717
718: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ c132-ctMQ) [sage] 2025/03/11(火) 17:38:04.47 ID:GvJGmymX0 C の公式サイトが登場! https://www.c-language.org/ http://mevius.5ch.net/test/read.cgi/tech/1721137434/718
719: デフォルトの名無しさん (ワッチョイ dd01-ctMQ) [sage] 2025/03/12(水) 20:15:01.01 ID:echC0lcV0 AIのおかげでCが主流になるかもな http://mevius.5ch.net/test/read.cgi/tech/1721137434/719
720: デフォルトの名無しさん (ササクッテロル Sp85-ZS5M) [sage] 2025/03/12(水) 21:03:53.54 ID:pJ5qTyUbp >>719 それは無い http://mevius.5ch.net/test/read.cgi/tech/1721137434/720
721: デフォルトの名無しさん (ワッチョイ 794b-XET2) [] 2025/03/12(水) 21:59:36.42 ID:WyQEi83H0 AIコーディングが進化した結果直接機械語で出力できるようになったけど人間が読めないのは困るから最低限人間が読めて速度も出るCで出すのが主流になるみたいな妄想 http://mevius.5ch.net/test/read.cgi/tech/1721137434/721
722: デフォルトの名無しさん (ササクッテロル Sp85-ZS5M) [sage] 2025/03/12(水) 22:07:09.85 ID:/p3tzJNRp AIは何も指定しなきゃjavaやpythonやC#のコードを吐き出すよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/722
723: デフォルトの名無しさん (ワッチョイ 1101-6xWR) [sage] 2025/03/18(火) 10:34:05.62 ID:mIJI9ibF0 cはむずい定期 http://mevius.5ch.net/test/read.cgi/tech/1721137434/723
724: デフォルトの名無しさん (ワッチョイ a1b3-Cuhd) [sage] 2025/03/19(水) 20:09:43.41 ID:WDKEEomI0 文法的にはポインタ周りが(少し)難しいだけ 個人的にはpythonの方が難しく感じるな http://mevius.5ch.net/test/read.cgi/tech/1721137434/724
725: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 215e-a7BF) [sage] 2025/03/19(水) 20:44:03.52 ID:SWZJHd7L0 C が未定義をエラーとして補足せずに黙って変になることがあるのは入門書などをまともに読まずにいろいろ弄って学ぶタイプの人には向いてないな。 ちゃんとした入門書をちゃんと読むならそんなに難しいわけではない。 しかし難しくないことでもしょうもないミスをするのが人というものだという現実もあって、特に規模が大きくなると C はしんどい。 難易度とかいうのとは別の話として、理解していても間違う。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/725
726: デフォルトの名無しさん (ワッチョイ 13ad-avMV) [] 2025/03/20(木) 04:57:02.69 ID:07u24rkx0 まあしかしこの頃のコンパイラは警告やエラーを沢山出してくれて分り易いよ。 昔のはチェックが緩くて出なかったからな。 その状態から gcc で printf() のフォーマットと引数のチェックが出来ると知った時は衝撃を受けた。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/726
727: デフォルトの名無しさん (ワッチョイ 418c-jD59) [sage] 2025/03/20(木) 17:01:49.87 ID:iinwNT6F0 >>726 それな、オプションさえちゃんと付ければ昔でもできてたよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/727
728: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2170-a7BF) [sage] 2025/03/20(木) 17:31:14.06 ID:PqZkwPwR0 GCC では遅くても 2.95.3 には attribute で文字列が書式であることを指定できて型チェックする機能はあった模様。(2001年頃) https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC84 ただな、このスレにいるようなおじさんの言う「昔」は 1980 年頃の話だったりするんよ。 MS-DOS 用とか CP/M 用とかのコンパイラの話なんよ。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/728
729: デフォルトの名無しさん (ワッチョイ 71ff-yHWN) [sage] 2025/03/20(木) 17:39:11.70 ID:Enps6Akh0 その年代の人はおじさんじゃなくておじいさんでは http://mevius.5ch.net/test/read.cgi/tech/1721137434/729
730: デフォルトの名無しさん (ワッチョイ 418c-jD59) [sage] 2025/03/20(木) 17:45:05.08 ID:iinwNT6F0 >>728 スマソ、俺はちょっと若すぎたわ だいぶ昔からできてた記憶があったがそれよりさらに昔の話とは恐れ入った先輩 http://mevius.5ch.net/test/read.cgi/tech/1721137434/730
731: デフォルトの名無しさん (ワッチョイ c95f-H5Hv) [sage] 2025/03/20(木) 18:23:15.20 ID:0dSk8Oyx0 メインフレームにダム端末繋げてた時代じゃよ http://mevius.5ch.net/test/read.cgi/tech/1721137434/731
732: デフォルトの名無しさん (スフッ Sd33-4EpX) [sage] 2025/03/20(木) 23:54:14.30 ID:t3XlSG3jd gcc7.1から突然エラーメッセージが親切になったのはあるな ちょうどclang+llvmが話題になった時期でそれに対抗したらしい http://mevius.5ch.net/test/read.cgi/tech/1721137434/732
733: デフォルトの名無しさん (ワッチョイ 13ad-avMV) [] 2025/03/21(金) 07:44:18.11 ID:6cMMiEqo0 >>727 それはどのぐらい昔かによる。 80年代後半にはまだなかったと思う。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/733
734: デフォルトの名無しさん (ワッチョイ 13ad-avMV) [] 2025/03/21(金) 07:45:09.98 ID:6cMMiEqo0 >>728 そうそう。80年代。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/734
735: デフォルトの名無しさん (ワッチョイ 9bec-91cd) [sage] 2025/03/21(金) 08:19:02.26 ID:kfFumR870 真理子版が便利すぎた。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/735
736: デフォルトの名無しさん (ワッチョイ 992a-15T+) [sage] 2025/03/22(土) 13:52:41.80 ID:A90b+kK90 他人にも使わせるツールに環境変数「真里子」はキモすぎてビビった http://mevius.5ch.net/test/read.cgi/tech/1721137434/736
737: デフォルトの名無しさん (アウアウエー Sa23-D2PX) [] 2025/03/22(土) 14:25:25.39 ID:U6/Lg1xxa >>728 scanf, sscanf で float, double に %f, %lf のところを %f, %f にしてバグるのがありがち http://mevius.5ch.net/test/read.cgi/tech/1721137434/737
738: 627 (ワッチョイ 5377-avMV) [] 2025/03/22(土) 15:31:32.91 ID:7ZrFn0ve0 scanfなんて使ったことねーや ありがちってほど使ってるんか http://mevius.5ch.net/test/read.cgi/tech/1721137434/738
739: デフォルトの名無しさん (ワッチョイ eba1-hjYJ) [sage] 2025/03/22(土) 15:40:39.16 ID:8J5Eq6PC0 scanfに道に落ちているを食べさせてはいけません http://mevius.5ch.net/test/read.cgi/tech/1721137434/739
740: デフォルトの名無しさん (ワッチョイ 492a-jhJX) [] 2025/03/28(金) 08:23:03.00 ID:+OZuQWBg0 この警告、環境によっては出ないの? $ cc ld.c -Wall ld.c: 関数 ‘main’ 内: ld.c:6:19: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 2 引数の型は ‘off_t’ {aka ‘long int’} です [-Wformat=] 6 | return printf("%d", offset); | ~^ ~~~~~~ | | | | int off_t {aka long int} | %ld $ cat -n ld.c 1 #include <stdio.h> 2 #include <sys/param.h> 3 4 int main() { 5 off_t offset = 1; 6 return printf("%d", offset); 7 } 8 http://mevius.5ch.net/test/read.cgi/tech/1721137434/740
741: デフォルトの名無しさん (ブーイモ MM26-xG3a) [sage] 2025/03/28(金) 08:29:47.68 ID:v2Oxq7uoM おれの作ったCコンパイラはそんな警告出さないけど何か文句ある? http://mevius.5ch.net/test/read.cgi/tech/1721137434/741
742: 740 (ワッチョイ 492a-jhJX) [] 2025/03/28(金) 09:29:48.60 ID:+OZuQWBg0 >>741 あー、なるほど。↓よ。 $ cc --version cc (GCC) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. http://mevius.5ch.net/test/read.cgi/tech/1721137434/742
743: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/28(金) 11:25:13.48 ID:gM96YdDw0 >>740 出さないコンパイラはあるし、その場合に警告を出すコンパイラであっても printf 類を特別扱いしてなんとかしてるので、可変長引数一般では型が合わないときに検出されない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/743
744: 740 (ワッチョイ 492a-aKLX) [] 2025/03/28(金) 13:15:49.58 ID:+OZuQWBg0 なるぽろ。%ld に変更せず、放っておくか。ありがとう。 ちなみに、逆に、%ld だと警告する場合も有り得るのだろうか。例えば off_t が非 long の機種があるとか。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/744
745: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/28(金) 13:32:37.75 ID:gM96YdDw0 x86-64 なら System V ABI ではどうせ 64 ビットレジスタで受け渡されるからそこんところでは問題にならないのだが、最適化したときにどうなるかまるで予想がつかない。 放置してよいとは言えない。 いったん intmax_t にキャストするのが正当な方法だと考えられている。 https://www.jpcert.or.jp/sc-rules/c-int15-c.html http://mevius.5ch.net/test/read.cgi/tech/1721137434/745
746: デフォルトの名無しさん (ワッチョイ 6eef-29WZ) [] 2025/03/28(金) 15:39:13.17 ID:Gm0qUC0n0 struct X* x;で自動変数を定義した場合 スタック上のどこかにstruct Xの領域が確保されたりしますか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/746
747: デフォルトの名無しさん (ブーイモ MM26-xG3a) [sage] 2025/03/28(金) 15:47:02.39 ID:v2Oxq7uoM されない http://mevius.5ch.net/test/read.cgi/tech/1721137434/747
748: 740 (ワッチョイ 492a-mzfN) [sage] 2025/03/28(金) 17:27:47.76 ID:+OZuQWBg0 >>745 > printf("%ju", (uintmax_t) x); なるぽろ。ありがとう。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/748
749: デフォルトの名無しさん (ササクッテロラ Spf1-7PGi) [sage] 2025/03/28(金) 19:09:11.37 ID:Yj8GIx0sp なんだよjって、何の略だ? http://mevius.5ch.net/test/read.cgi/tech/1721137434/749
750: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/28(金) 22:16:42.65 ID:gM96YdDw0 >>749 なんらかの単語の略 (頭文字) というわけではないらしいよ。 > j is sort of like "i" for integer https://www.open-std.org/jtc1/sc22/wg14/www/docs/n833.htm http://mevius.5ch.net/test/read.cgi/tech/1721137434/750
751: 警備員[Lv.2][新芽] (ワッチョイ 6dcd-maST) [sage] 2025/03/28(金) 23:06:36.11 ID:UFqBPtr80 μ→uみたいなものか 大文字の I はもう使われてふのかな? http://mevius.5ch.net/test/read.cgi/tech/1721137434/751
752: デフォルトの名無しさん (アウアウウー Saa5-WcQO) [] 2025/03/29(土) 16:07:35.02 ID:M3jsTRd4a long long や unsigned long long の出力に %lld や %llu って昔は使えてた気がするが 最近はだめなんかな %I64 とか %U64 みたいなのになってるん http://mevius.5ch.net/test/read.cgi/tech/1721137434/752
753: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-p0tU) [sage] 2025/03/29(土) 16:54:36.19 ID:HRez4USp0 >>752 I64 とかはマイクロソフトの拡張。 新しい方法じゃなくてむしろ古い方法が互換性のために残されているだけ。 今となってはあえて使う理由はない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/753
754: デフォルトの名無しさん (ワッチョイ 2e2a-aKLX) [] 2025/03/29(土) 17:30:28.12 ID:bd7PveSA0 >>752 > %I64 とか %U64 移植が大変そうね。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/754
755: デフォルトの名無しさん (ワッチョイ a92a-K+vz) [sage] 2025/04/08(火) 18:05:53.82 ID:f9O97Hv70 sudo で実行すると execl が動作しないように見える。なぜ? $ cat -n e.c 1 #include <stdio.h> 2 #include <unistd.h> 3 4 int main() { 5 pid_t pid; 6 if ((pid = fork()) > 0) return 0; 7 else if (pid < 0) return 1; 8 execl("/bin/bash", "/bin/bash", "-c", "echo $$ $PPID >> /tmp/log", NULL); 9 _exit(2); 10 } $ gcc -g e.c $ ./a.out $ cat /tmp/log 10593 1566 $ sudo ./a.out $ cat /tmp/log 10593 1566 $ http://mevius.5ch.net/test/read.cgi/tech/1721137434/755
756: 627 (ワッチョイ 22ca-VGeA) [] 2025/04/08(火) 19:31:31.59 ID:HmugccjD0 まずコピーするなら手を入れるな手を入れると他も全部疑わなきゃいけなくなる それからsudo -E ./a.outとsudo strace ./a.outを試せ http://mevius.5ch.net/test/read.cgi/tech/1721137434/756
757: デフォルトの名無しさん (ワッチョイ 798a-GhsC) [] 2025/04/08(火) 19:45:35.63 ID:dAM9KaxA0 縦の数字はなに? 普通にエラーになるだろそれ http://mevius.5ch.net/test/read.cgi/tech/1721137434/757
758: デフォルトの名無しさん (ワッチョイ a9b3-K+vz) [sage] 2025/04/08(火) 20:08:58.79 ID:0fraKCca0 catの引数に-n指定してるからだろ http://mevius.5ch.net/test/read.cgi/tech/1721137434/758
759: デフォルトの名無しさん (ワッチョイ 4dc4-xzp7) [] 2025/04/08(火) 20:57:19.94 ID:brzdTu7q0 手元にあるfedora で試したが、 sudo ./a.out の結果表示は2行になった 多分、正常に処理できたようだ http://mevius.5ch.net/test/read.cgi/tech/1721137434/759
760: 警備員[Lv.1][新芽] (ワッチョイ 4df5-hVWE) [sage] 2025/04/08(火) 22:40:53.76 ID:NxLLuNcW0 うちはダメでした >>755 と同じような結果です ubuntu22.04 lts http://mevius.5ch.net/test/read.cgi/tech/1721137434/760
761: 警備員[Lv.1][新芽] (ワッチョイ 4df5-hVWE) [sage] 2025/04/08(火) 22:43:01.77 ID:NxLLuNcW0 あ、次のようにしたときです sudo ./a.out /tmp/log に追記されませんでした http://mevius.5ch.net/test/read.cgi/tech/1721137434/761
762: 755 (ワッチョイ a92a-ZtHn) [] 2025/04/08(火) 22:49:40.17 ID:Rmhs1Vne0 >>759 えー!? と別環境で実行したら、sudo でも execl が動作したように見える。なにこれ。 $ ./a.out $ cat /tmp/log 13706 1 $ sudo ./a.out $ cat /tmp/log 13706 1 13721 1 $ 取り敢えず、うちの Ubuntu の「おま環」問題のようでした。お騒がせしました。 ただ、今回のは bash の $PPID が init (1) になるという新たな謎が... http://mevius.5ch.net/test/read.cgi/tech/1721137434/762
763: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 00:22:33.67 ID:06ntJanv0 親プロセスが先に死んだら子は init の養子になる。 だけどこの場合だとどちらが先に死ぬかはプロセスのスケジューリング次第で状況によるってことなんじゃないのかな。 Linux の事情はよく知らんけど。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/763
764: デフォルトの名無しさん (ワッチョイ 4df4-bRAX) [sage] 2025/04/09(水) 00:23:29.81 ID:Z/QH/Jgt0 Linux 板で聞いた方が回答ありそうな気がする。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/764
765: デフォルトの名無しさん (ワッチョイ ae7e-GhsC) [] 2025/04/09(水) 15:00:16.84 ID:cB69i6Vg0 const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char*const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char* y_icon; // FIXME 型が分からない if (tenki_i == "01") y_icon = "t100_day"; else if (tenki_i == "01_n") y_icon = "t100_night"; else if (tenki_i == "08") y_icon = "t200_day"; else if (tenki_i == "08_n") y_icon = "t200_night"; else y_icon = "t999_day"; sprite.drawPng((std::uint8_t*)y_icon, sizeof(y_icon), 0, 25); t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/765
766: デフォルトの名無しさん (ワッチョイ ae7e-GhsC) [] 2025/04/09(水) 15:01:47.32 ID:cB69i6Vg0 >>765 コピペ間違えました 正しくは以下です char*const unsigned char t100_day[3807] PROGMEM = { 0x89, 0x50, 0x4e, 略, } const unsigned char t100_night[3568] PROGMEM = { 0x89, 0x50, 0x4e, 略, } String tenki_i = "01"; char* y_icon; // FIXME 型が分からない if (tenki_i == "01") y_icon = "t100_day"; else if (tenki_i == "01_n") y_icon = "t100_night"; else if (tenki_i == "08") y_icon = "t200_day"; else if (tenki_i == "08_n") y_icon = "t200_night"; else y_icon = "t999_day"; sprite.drawPng((std::uint8_t*)y_icon, sizeof(y_icon), 0, 25); t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/766
767: デフォルトの名無しさん (スッップ Sd22-yI6P) [] 2025/04/09(水) 15:16:14.76 ID:qDwL9bg0d >>755もそうだし書いちまったもんはしょうがねーけどコードを載せる時は どうしろこうしろって書いてあんだから従えよ アンタどこ行ってもそんな感じなのか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/767
768: デフォルトの名無しさん (ワッチョイ 79f9-GhsC) [] 2025/04/09(水) 15:24:40.77 ID:Hnk7Q6m60 すみません、書き直しました https://ideone.com/CSy0Nb t100_dayなどは画像なんですけど、tenki_iの中のstrによって画像を変えたいです。 y_iconはどうやって指定したらいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/768
769: デフォルトの名無しさん (ワッチョイ 06a6-9hLw) [sage] 2025/04/09(水) 15:27:10.13 ID:lI8vd/RJ0 >>755 fork呼んだ親プロセスがreturn 0でいきなり終わってるのがダメ wait呼んでプロセスの終了待ちしろ http://mevius.5ch.net/test/read.cgi/tech/1721137434/769
770: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 18:01:06.77 ID:06ntJanv0 >>768 その断片的なプログラムではよくわからんが型を合わせるだけなら y_icon の宣言はこうなるべきだと思う。 const unsigned char* y_icon; http://mevius.5ch.net/test/read.cgi/tech/1721137434/770
771: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cd32-xzp7) [sage] 2025/04/09(水) 18:30:26.27 ID:06ntJanv0 >>768 ところでそれは C++ じゃない? なんでこのスレで聞くの……。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/771
772: 755 (ワッチョイ 6e2a-ZtHn) [] 2025/04/09(水) 19:53:07.12 ID:dFJfWRF+0 >>769 「お騒がせしました。」と言ったので、勝手ながら質問を終えた気がしていた。見てくれて有り難う。 >>755,762 については、Ubuntu においても sudo で execl は動作していた。 動作しないように見えたのは、Ubuntu 特有のファイル権限設定があり、root といえどもファイルにアペンドできないせいだった。Qiita にあったサマリが解りやすい。 https://qiita.com/skyflare2001/items/1c1934b1d2f405228334#2025118-追記 > Ubuntu の /tmp のユーザファイルに root で追記できない 全く C言語に関係なかった。ごめんちゃい。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/772
773: デフォルトの名無しさん (アウアウウー Sa21-NXaD) [] 2025/04/20(日) 14:12:51.27 ID:RiHDJnuQa stdbool.h 真面目に使ってる人いる?あるいは使ってない方がおかしい? http://mevius.5ch.net/test/read.cgi/tech/1721137434/773
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 229 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s