[過去ログ]
C言語なら俺に聞け 163 (1002レス)
C言語なら俺に聞け 163 http://mevius.5ch.net/test/read.cgi/tech/1721137434/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
672: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff32-XAIF) [sage] 2025/02/15(土) 15:04:44.95 ID:ewglApEf0 strptime で %z や %Z でタイムゾーンを扱えるのは glibc の拡張 (他で真似している場合もあるかもしれんけど) なんだけど、 Arduino の C ライブラリは glibc ベースなの? そうじゃないなら各ライブラリのドキュメント (またはソースコード) を読まないとわからないし、そもそもそんな機能はないのかもしれない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/672
673: デフォルトの名無しさん (ワッチョイ 5357-u07z) [] 2025/02/15(土) 16:19:42.94 ID:BNBq5D0N0 >>672 どうもありがとうございます %zのようなのを使わず+の前後で分けてまず前だけでtm structに変換して後ろはエポック秒が何かに変換して使うのがベターでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/673
674: デフォルトの名無しさん (ブーイモ MM3b-6Hi7) [sage] 2025/02/15(土) 16:25:20.46 ID:Q9F/iLI2M やり方思いついたならやれ http://mevius.5ch.net/test/read.cgi/tech/1721137434/674
675: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff32-XAIF) [sage] 2025/02/15(土) 16:39:17.28 ID:ewglApEf0 >>673 どうやら Arduino は newlib ベースの模様。 newlib の strptime はタイムゾーンをサポートしてない。 どうにかしてタイムゾーンを扱いたい場合にどうやって実装するかは個々の事情によると思うのでなんとも言えない。 実績のある実装をどこかから持ってきたほうが良いんじゃないかと個人的には思う。 https://www.google.com/search?q=strptime+implementation+c パースするだけならたいして複雑なものではないので自分で書いてみてもいいかな。 ちなみにタイムゾーンを略称で扱うのは面倒な事情が絡む。 タイムゾーンを標準時からの差の時間で表すときはその時点での差があれば十分なので簡単なんだけど、略称で表すときはサマータイムの情報もいる。 たとえばニューヨークのタイムゾーン (EST) は普段は -05:00 だけどサマータイム中は -04:00 になる。 単に EST=-05:00 というわけではない。 そんでもってこのへんの扱いが面倒なのは変わることは割とよくあるということ。 サマータイムの期間が変わったりずらす時間が変わったり、あるいはゾーンが増えたり減ったりするのは政治的な判断なので情報を定期的に更新する前提じゃないときちんと運用できない。 パソコンの OS だと適当なタイミングで更新する仕組みがあるのが普通だけど組み込みシステムだとそうもいかないこともある。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/675
676: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff32-DO7v) [sage] 2025/02/15(土) 21:12:02.85 ID:ewglApEf0 基本的なことを書き忘れてた。 strptime は C の言語仕様には無い関数で、 POSIX (UNIX 系 OS の統一仕様) にある。 POSIX は最低限の共通部分だけをまとめたもので実装には雑多な拡張を入れる前提なので各実装によってサポート内容が違う。 POSIX 準拠ではない環境で部分的に POSIX を真似てるだけ (POSIX の最低限の要求も満たしてない) ということもある。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/676
677: デフォルトの名無しさん (アウアウエー Sa13-9cJ9) [] 2025/02/16(日) 12:03:53.19 ID:rAQQ2/+ca 最初からtmstructをUTCで取得した方が楽ジャマイカ http://mevius.5ch.net/test/read.cgi/tech/1721137434/677
678: デフォルトの名無しさん (ワッチョイ 232c-1nj7) [sage] 2025/02/17(月) 01:18:04.49 ID:mzGEyEzq0 有効な同型ポインタの比較において、同一オブジェクト/配列由来でない場合、 == の結果は 0 (未定義動作ではない) C99(N1256) Annex J.2 Undefined behavior — Pointers that do not point to the same aggregate or union (nor just beyond the same array object) are compared using relational operators (6.5.8). ここに Equality operators の記述がない。 6.5.8 Relational operators 6.5.9 Equality operators でも同様の内容となっている。また、 N3231 https://www.open-std.org/jtc1/sc22/WG14/www/docs/n3231.pdf 2024/03/21 Kleynhans, TS 6010 A Provenance-aware Memory Object Model for C, Revision Draft N3005 2022/06/16 Gustedt, A Provenance-aware Memory Object Model for C, draft TS 6010, version June 2022 では、provenance と abstract address という用語が導入されてスッキリとした文面になっている。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/678
679: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-7Htj) [sage] 2025/02/17(月) 10:52:55.67 ID:tIRsmIw80 C99 をあらためて読み返してみたら確かにそうだ……。 ・ ふたつのポインタが等しいと判断される条件が書いてあって「その場合に限り」等しいとする ・ 各演算子は指定された関係が真の場合は1を,偽の場合は0を返す ・ 未定義と書いてある (またはそれと等価な言い回し) か動作の明示的な定義がない場合は全て未定義 等しい条件を満たさないなら 0 が返されることを保証していることになるので未定義ではないことになる。 でもまあ現実的に考えたらおかしいし、欠陥報告が出てたりしない? http://mevius.5ch.net/test/read.cgi/tech/1721137434/679
680: デフォルトの名無しさん (ワッチョイ 1501-7Htj) [sage] 2025/02/17(月) 19:30:42.26 ID:iQTBmgHC0 >>648のサンプルプログラムで同じことが起きることってある? http://mevius.5ch.net/test/read.cgi/tech/1721137434/680
681: デフォルトの名無しさん (ワッチョイ 23ad-MHHu) [] 2025/02/22(土) 07:05:24.68 ID:nEyoRU5r0 >>680 WSL2 の Ubuntu 22.04.5 にインストールされている gcc 11.4.0 で gcc -O でコンパイルしたら起きた。 -O なしだと起きない。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/681
682: デフォルトの名無しさん (ワッチョイ fde8-ItHp) [sage] 2025/02/22(土) 12:11:54.96 ID:DWcN/KDk0 余計なことを http://mevius.5ch.net/test/read.cgi/tech/1721137434/682
683: デフォルトの名無しさん (ワッチョイ 23ad-MHHu) [] 2025/02/22(土) 14:47:10.43 ID:nEyoRU5r0 最適化オプションの有無で違いが出る状態はできれば止めて欲しかったな。やるとしても別オプションでやって欲しかった。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/683
684: デフォルトの名無しさん (ワッチョイ 1bab-2o2c) [sage] 2025/02/22(土) 16:41:59.90 ID:Z2hFLtuL0 その壁越えられないやつ多いよね 仕事でも最適化すると動かなくなるからってオフでリリースしてた雑魚エンジニアいたわ http://mevius.5ch.net/test/read.cgi/tech/1721137434/684
685: デフォルトの名無しさん (ワッチョイ cba1-Nstt) [sage] 2025/02/22(土) 17:57:58.33 ID:HOxFgRC/0 コンパイラのバグって事じゃないのか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/685
686: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ b132-FOV+) [sage] 2025/02/23(日) 20:21:42.14 ID:5K9CwmG10 >>683 -0 はいくつかの具体的な最適化オプションを束ねたものだよ。 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-O このうちのどれが効いてるのかは知らんけど。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/686
687: デフォルトの名無しさん (ワッチョイ b691-M1fQ) [sage] 2025/02/23(日) 21:01:43.23 ID:VuC2otmU0 >>684 最適化オフでのリリースは一つの有力な選択だと思います。 http://mevius.5ch.net/test/read.cgi/tech/1721137434/687
688: デフォルトの名無しさん (ワッチョイ 094f-/70v) [sage] 2025/02/23(日) 21:45:10.07 ID:K8mfivgh0 最適化に副作用あるのは常識 http://mevius.5ch.net/test/read.cgi/tech/1721137434/688
689: デフォルトの名無しさん (ブーイモ MM99-A0+M) [sage] 2025/02/23(日) 21:54:21.08 ID:FQnOu1obM >>687 まザコならしょうがないわな 組み込みならハードのコスト一段下げられるけど諦めるしかない そんなザコ会社だから低収入もしかたない http://mevius.5ch.net/test/read.cgi/tech/1721137434/689
690: デフォルトの名無しさん (ワッチョイ 0d01-Ah42) [sage] 2025/02/24(月) 01:00:54.17 ID:IorN2uWP0 自己紹介かな http://mevius.5ch.net/test/read.cgi/tech/1721137434/690
691: デフォルトの名無しさん (ワッチョイ aeb7-/OIl) [sage] 2025/02/24(月) 17:12:08.95 ID:qLUUxQg70 gccなら-O0でも実施される最適化はあるので本気で最適化オフにしたいなら-O0で有効になる項目を-fno-に個別に指定する必要がありそこそこ面倒 http://mevius.5ch.net/test/read.cgi/tech/1721137434/691
692: デフォルトの名無しさん (ワッチョイ aebd-A0+M) [sage] 2025/02/24(月) 17:18:13.77 ID:SlW5Uo1a0 最適化オフとか言ってる人は、UBを踏んでしまってるから最適化で動作が変わるってことわかってんのか? http://mevius.5ch.net/test/read.cgi/tech/1721137434/692
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 301 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s