[過去ログ] C言語なら俺に聞け 163 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
645: (ワッチョイ 4606-6Hi7) 02/11(火)17:19 ID:jMpjlVqA0(3/4) AAS
無理はいいすぎ
やったことないやつがしったかすんな
646: (ササクッテロラ Spa3-Z3xl) 02/11(火)17:20 ID:0gFNLz1yp(1) AAS
ARM系はほんと無理
647: (ワッチョイ 5302-aFRq) 02/11(火)18:37 ID:2gjYX+K80(1) AAS
貴方みたいな人はほんと無理
とか言われたら傷ついちゃう
648(4): (ワッチョイ 7f1b-hc6T) 02/11(火)21:27 ID:JzAdQ4dR0(1) AAS
とりあえず読むべし
旧石器時代のポインタをご利用の皆様へ 〜provenance入門〜
外部リンク:qiita.com
649: 警備員[Lv.5][新芽] (ワッチョイ 465f-tGgj) 02/11(火)21:52 ID:m4FoXgHJ0(2/2) AAS
>>648
thx!
650(1): (ワッチョイ de76-/Fy3) 02/11(火)21:58 ID:VhWouMxY0(2/2) AAS
こんなの分割コンパイルしたら分からないし ライブラリならなおさら
実行時にどのオブジェクト由来なんて情報持っておけるのか?
int func(int *ip, int *iq)
{
if (ip == iq) {
} else {
}
}
651: (ワッチョイ 46a9-6Hi7) 02/11(火)22:39 ID:jMpjlVqA0(4/4) AAS
コンパイル時に決まってんじゃん
652: (スップ Sd4a-26Jk) 02/11(火)23:02 ID:DgpMDse2d(1) AAS
このコテハンの人いつもこんなだよね
まともに出来るのが規格のコピペみたいな事だけで、それ以外だとすぐとんちんかんな事言い出して突っ込まれてる
653: はちみつ餃子◆8X2XSCHEME (ワッチョイ ff32-DO7v) 02/11(火)23:17 ID:0+q77CUl0(2/2) AAS
>>650
わかる範囲でやるってだけ。
わからないところは保守的なコードを生成する。
ただ、今は LTO があるのでわかる範囲がだいぶん広い。
わからないからこそプログラマは未定義なことをしないと仮定した最適化をする (未定義を踏んでたらむちゃくちゃになる) という場合もある。
654: (ワッチョイ d301-XAIF) 02/12(水)10:25 ID:WVzDbo940(1/2) AAS
>>648
ポインタpとqの値が同じにならないんだけど…
655: (ササクッテロラ Spa3-Z3xl) 02/12(水)10:28 ID:p1VJlK94p(1) AAS
Cに余計なもん付けたらいにしえのLinux由来のコードが通らなくなるだろ
656: (ワッチョイ 6a4d-WFrT) 02/12(水)11:20 ID:OojhOsKe0(1/3) AAS
未定義の動作がどういうことなのかよく分かっていない人がいるみたいなので補足しておく
>>628
未定義の動作を引き起こすプログラムを提示しても結果が分からないし毎回違う可能性もある点でこれだと何も示せてない
きつい言い方かもしれないが注意喚起になっていない
>>634の2行目を見るとコードの動き方に対しての認識として不定の動作と未定義の動作を混同して勘違いしてるかも知れないね
657: 627 (ワッチョイ 6a4d-WFrT) 02/12(水)11:21 ID:OojhOsKe0(2/3) AAS
>>631
未定義の動作なので2行目から7行目のような事が起きるかどうかは分からない
仮に未定義の動作がなかったとしても行目を自明のように仮定することは出来ない
アーキテクチャが色々ある中そういう処理系もあればそうでない処理系もあるしCでは何も規定してない
スタックの仕組みがないものもあればポインタをそもそも数値や番地で扱わないアーキテクチャもある
後段も同様
658(2): 627 (ワッチョイ 6a4d-WFrT) 02/12(水)11:22 ID:OojhOsKe0(3/3) AAS
>>644
コンパイラの動作に対して必要条件が何も設定されない状態になるという話で最適化は全く関係ない
ちなみに今回の話はK&Rの頃からあるルールなので>>648とはちょっと違う
ただ内容は大体同じでポインタはオブジェクトを指してるもので、その内部形式や扱い方はユーザーが知る必要はない
659: はちみつ餃子◆8X2XSCHEME (ワッチョイ ff32-XAIF) 02/12(水)11:47 ID:cXwd7RB80(1/2) AAS
>>658
言語仕様上で未定義動作とされている状況が実際の機械の上でどう動作するか (その動作は想像できない) という文脈でヤバさを伝えるためになるべく想像外な結果を生む実例を出そうとしているので最適化は関係ある。
660: (ササクッテロラ Spa3-Z3xl) 02/12(水)11:50 ID:XyTZkBHop(1) AAS
最適化しないと無駄なコードや無意味なコードも忠実に出力されるからなぁ
661: (ワッチョイ 4618-6Hi7) 02/12(水)12:49 ID:J/UI6pYQ0(1) AAS
>>658
未定義だから不明を連呼されても大して参考にならんわけで
なぜ現実のgccではあのような結果になるのか理由を説明できないのか?
わかってないようだけど最適化は大いに関係してるぞ
662: (ワッチョイ de76-/Fy3) 02/12(水)13:26 ID:7GgOweZ60(1) AAS
えーと未定義や環境依存を使ったりとかは
Cおよびコンピュータの理解が不十分な
質の劣るプログラマが存在するからでしょうに
そういう人達に重要プログラムを書かせる責任問題でもある
663: (ワッチョイ 5302-aFRq) 02/12(水)15:09 ID:+Pz/j8Me0(1) AAS
相手に過大に説明を要求して、自分は分かろうとしない者は嫌われちゃうよ
664: (ワッチョイ 1e63-euVe) 02/12(水)15:17 ID:iId2MJ1V0(1) AAS
gccのフォーラムで質問出してみたら?
参考にできる回答が得られるかも知れないよ
665: (ワッチョイ d301-XAIF) 02/12(水)15:52 ID:WVzDbo940(2/2) AAS
>ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています
↑まずこれがおかしい
666: (ササクッテロラ Spa3-Z3xl) 02/12(水)16:26 ID:I956D6cKp(1) AAS
ランタイムじゃなくてコンパイル時の静的なルールだろうね
667(1): (ワッチョイ ea07-XAIF) 02/12(水)17:12 ID:1bCkYFVx0(1) AAS
投資家はRustを信頼するって言ってるんだから、Rustとおんなじようにすればいいだけ
俺はC/C++派なので、どんどんRustの実績をぶんどってくるべきって思ってる
668: はちみつ餃子◆8X2XSCHEME (ワッチョイ ff32-DO7v) 02/12(水)17:47 ID:cXwd7RB80(2/2) AAS
>>667
Rust のようにやるなら Rust のほうが巧くやれる。
当たり前だろ。
669: 警備員[Lv.1][新芽] (ワッチョイ aba3-tGgj) 02/13(木)00:32 ID:rym7RjTu0(1/2) AAS
移植性が求められることばかりでもないし、最適化などのオプションも頻繁に取ったりつけたりしないし、思い通りに動かなければアセンブルリストみたりするけど、コンパイラが出力するコードが予想通りかなんて観点はないし、実践的ではないけど、人を小馬鹿にしたりしなければ勉強になって面白い話なのに
670: 警備員[Lv.1][新芽] (ワッチョイ aba3-tGgj) 02/13(木)00:34 ID:rym7RjTu0(2/2) AAS
実践的でない、はちょっと違うか
671: (ワッチョイ 8655-u07z) 02/15(土)13:31 ID:vKfoke/00(1) AAS
Arduino (ESP32)で文字列変換をしたいです。
tの文字列をtm structに変換したいんですが,タイムゾーンのオフセット部分の+9:00の扱いが分かりません。
%Zはタイムゾーンのオフセットを分を指定する場合で、%zだとUTCなどタイムゾーン名を指定する場合に使うみたいでした。
どうやるんでしょうか?
外部リンク:pastebin.com
672(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ ff32-XAIF) 02/15(土)15:04 ID:ewglApEf0(1/3) AAS
strptime で %z や %Z でタイムゾーンを扱えるのは glibc の拡張 (他で真似している場合もあるかもしれんけど) なんだけど、 Arduino の C ライブラリは glibc ベースなの?
そうじゃないなら各ライブラリのドキュメント (またはソースコード) を読まないとわからないし、そもそもそんな機能はないのかもしれない。
673(1): (ワッチョイ 5357-u07z) 02/15(土)16:19 ID:BNBq5D0N0(1) AAS
>>672
どうもありがとうございます
%zのようなのを使わず+の前後で分けてまず前だけでtm structに変換して後ろはエポック秒が何かに変換して使うのがベターでしょうか?
674: (ブーイモ MM3b-6Hi7) 02/15(土)16:25 ID:Q9F/iLI2M(1) AAS
やり方思いついたならやれ
上下前次1-新書関写板覧索設栞歴
あと 328 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s