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


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

C言語なら俺に聞け 158



1 名前:デフォルトの名無しさん mailto:sage [2021/12/25(土) 12:11:46.61 ID:xxeaCAplM.net]
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
codepad.org/

C17
www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 157
https://mevius.5ch.net/test/read.cgi/tech/1624846971/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

969 名前:デフォルトの名無しさん [2022/07/29(金) 10:43:07.31 ID:nIcw6oQba.net]
>>954
鏡で自分の顔を観てバグを一覧にしてみ
良い訓練になる

970 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 13:39:55.55 ID:LR/vrGjN0.net]
これ俺の顔じゃない
鏡がバグってる

971 名前:デフォルトの名無しさん (ワッチョイ 79bb-dSCr) mailto:sage [2022/07/30(土) 00:46:07 ID:wZaxY20D0.net]
組み込みの世界ってまだC言語が主流ですよね?
IoTも同じ?

972 名前:デフォルトの名無しさん (ワッチョイ 9a3e-dSCr) mailto:sage [2022/07/30(土) 00:52:24 ID:B4kVDCsM0.net]
IoT というのは広い概念なのでそれだけではなんとも言えん。
低レイヤもあれば高レイヤもある。

973 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 13:46:54.93 ID:kKuVH5i8M.net]
I Of the Tiger

974 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 15:28:57.06 ID:sZRL8Eez0.net]
Intensity Output Time

975 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 16:11:54.93 ID:2k62MWGF0.net]
次のCの仕様が出てくるというのにこのスレでは全く話題にならないんだな

976 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 16:16:00.43 ID:dAB37O5c0.net]
tccで標準入力からソース読むプログラムに、さらにstdinからデータ読ませるのは無理ですかね?
(echo "ccode with stdin" | tcc -run - ) <file
みたいな感じで(fileまでソースと取られてコンパイルエラー)
一時ファイル作れば出来るけど、ちょっとワンライナー書くときに不便を感じる

echo "main(char*c, char**v){puts(v[0]);puts(__FILE__);}" | tcc -run -

-
<stdin>
を出力します、多分tccはプロセスを自己書き換えで置き換えるんでしょうか?ファイルハンドルが継承されてる?

977 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 16:20:55.72 ID:2BJ7IgJr0.net]
新しいCってそもそもどこで需要があるんだろう



978 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 16:38:39.78 ID:wZaxY20D0.net]
>>958
高レイヤーだと普通にリッチな言語が使われたりするのかな

>>961
deferが入るかもって別スレで見かけたけど本当?

979 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 16:55:11.02 ID:KiVbgp3AM.net]
組み込みと言ってもラズパイ環境では完全にPythonが主流でC/C++(gcc)はあまり利用されてないイメージがある

980 名前:デフォルトの名無しさん (ワッチョイ 7a63-dSCr) mailto:sage [2022/07/30(土) 17:15:44 ID:rf6S0zxh0.net]
組込って普通は静的バイナリにするんじゃないの

981 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9a3e-dSCr) mailto:sage [2022/07/30(土) 17:20:48 ID:B4kVDCsM0.net]
>>964
C23 には defer は入らない見込み。 全体としては C++ の後追い的な変更が多い。

auto が型推論付きの変数定義になるだとか、constexpr や nullptr が導入されるだとか、
属性の表記法が C++ 風の [[ ]] を使った形になるだとか、そういう感じのやつ。
(ちなみに今回導入される constexpr は変数には付けられるが関数には付けられないので
コンパイル時プログラミングが C++ みたいに出来るわけではない。
定数式の成立要件が C と C++ で違うので C++ 寄りにする追加機能。)

思い切った変更ではあるが、根本的なプログラミングスタイルを変えない程度のバランスのとれたところだと思う。

982 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9a3e-dSCr) mailto:sage [2022/07/30(土) 17:34:09 ID:B4kVDCsM0.net]
>>966
もちろんそういう部分も大きいけど……。
リッチな組み込みは一昔前のパソコンを超えるくらいの性能はあるし Linux くらいは載るので、
デバイスドライバさえ用意すればあとはパソコンみたいに使えるという場合は普通にある。
かつては組み込みと言えばそのデバイスドライバの部分こそ大きかったと思うんだが、
IoT を意識するレベルの製品だとアプリケーションレイヤが巨大なので Python くらいは動くこともあるだろう。
主流かというとちょっと疑問ではあるが……。

983 名前:デフォルトの名無しさん (ワッチョイ 7a63-dSCr) mailto:sage [2022/07/30(土) 17:38:53 ID:rf6S0zxh0.net]
それは組み込みと言うより、OS上で動かしている単なるアプリだろう

984 名前:デフォルトの名無しさん (ラクッペペ MMee-kNao) mailto:sage [2022/07/30(土) 17:48:55 ID:lDkW8Lp7M.net]
https://www.google.co.jp/search?q=raspberry+pi+%E9%96%8B%E7%99%BA%E8%A8%80%E8%AA%9E

985 名前:デフォルトの名無しさん (ワッチョイ 7a63-dSCr) mailto:sage [2022/07/30(土) 17:50:58 ID:rf6S0zxh0.net]
パソコンで同じことやっても組み込みなんて言わないし

986 名前:デフォルトの名無しさん (ラクッペペ MMee-kNao) mailto:sage [2022/07/30(土) 18:00:48 ID:jaybBP1OM.net]
組み込みの開発はクロス開発が基本なのでパソコンはただの端末だけどね
プログラムはボード上のSoCで実行される

987 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 19:32:55.53 ID:wZaxY20D0.net]
IoTにはC言語は深く入り込んでないのか

>>967
型推論付くってマジ?
個人的には嬉しい



988 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 19:50:32.99 ID:zHogqexf0.net]
>>964
> 高レイヤーだと普通にリッチな言語が使われたりするのかな
複合機などはWebサーバー程度は普通に入ってるから設定画面等は HTML, JavaScript, CSS, Python を使ってたりする

IWS (Internal Web Server:HTML, JavaScript, CSS, Python)
https://dsp.konicaminolta.jp/best-program

もちろんOS上で動いてるし、でかいシステムだとPCその物を内蔵してたりすることもある
なのでこんなものが売られてる
https://jpn.nec.com/fc/index.html

989 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 19:51:42.13 ID:DgXxKl0UM.net]
IoTというよりはスタンドアローン環境か小規模な独自ネットワーク程度の組み込み分野の方がC/C++利用は多いと思う

990 名前:デフォルトの名無しさん mailto:sage [2022/07/30(土) 23:12:48.90 ID:wZaxY20D0.net]
>>974
こういう機材に囲まれたことないなー
俺はIoTは名前だけでほんとに実感がない

991 名前:はちみつ餃子 mailto:sage [2022/07/30(土) 23:53:43.60 ID:B4kVDCsM0.net]
>>969
機器に「組み込まれ」ているなら組み込みと呼んでいいだろう。
パソコンに近い構成にしてパソコンでも使えるソフトウェアを活用する場合があるというのは結果論だよ。

992 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 00:41:41.63 ID:n00x/A2v0.net]
そうなるとPC使っていても組み込み扱いして良いと言うことになりますよね
近い構成どころか、何でもありになりそう

993 名前:はちみつ餃子 mailto:sage [2022/07/31(日) 01:25:42.56 ID:9sXTRHUo0.net]
そうだよ。
技術的な実態としてはそんなにはっきりした境界がない。 なんでもありだ。
用途の側でふんわりと分野が分かれてる。

994 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 01:39:56.41 ID:AA5JChgka.net]
組込とハード制御的なやつの混同はよくありますね

995 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 06:39:14.45 ID:1QnevV7r0.net]
>>961
Cは枯れた言語で今さら新機能は誰も望んでないからな
むしろ余計なことをしてくれるなと

996 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 14:01:45.17 ID:k/gcENLBM.net]
古いソースが問題なくコンパイル出来ないと、それはそれで問題にされる。
今でもトライグラフ受け入れないと駄目なんだろう

997 名前:ハノン mailto:sage [2022/07/31(日) 17:43:38.22 ID:E3I5T4z5H.net]
>>981
C99 の C++ との互換性がまったく取れていない変てこ機能はさっさと削除してほしいものです
いまや私は C のソースを書くのに C++ コンパイラが通るか試してみる体たらく、あれらはいったいなんなんだ?



998 名前:はちみつ餃子 mailto:sage [2022/07/31(日) 19:20:45.67 ID:9sXTRHUo0.net]
今回「削除」になったのはいわゆるK&Rスタイルの関数定義くらいだな。
いずれ削除するということは以前から書かれてたし、
習慣的にも行儀が悪いという考え方が支配的だから
これで問題が起こるなら長い移行期間中に対応できてなかったほうが悪いと言ってよかろ。

999 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 19:35:38.56 ID:n00x/A2v0.net]
削除って事は、古いソースのコンパイルはもはや出来ないと言うことなんでしょうか
いや、なに、クラシックカーに乗ってみたい位の好奇心ですけど

1000 名前:アリ人間 mailto:sage [2022/07/31(日) 19:46:09.16 ID:sdKo2iJ+d.net]
歳をとるということ 〃
シワが増えるということ 〃

なのに
ぼくたち
私たちは 〃

なぜ、最新機種で進化の止まった古臭いコンパイラを使うのでしょうか
でしょうか

1001 名前:はちみつ餃子 mailto:sage [2022/07/31(日) 20:23:09.10 ID:9sXTRHUo0.net]
>>985
削除された機能を使っていればそういうことになるが、
そもそも C で書かれたプログラムなんてどこかしらで環境依存な部分があるもんだし、
よほど配慮されたものでない限り古いコードは素直には動かないのが普通だろう。

まあ C23 が出来たからと言って C89 (に対応したコンパイラ) が直ちに消滅するわけでもないし、
なんだかんだであと二十年くらいたっても C89 派がそれなりにはいそうな気がする。

1002 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 20:35:31.51 ID:1QnevV7r0.net]
K&R CこそCの面白さの塊なんだけどな
GCCが「カバにダンスを踊らせるのはあまり面白くない」なんて言ってた人もいるように
歳月とともに雁字搦めになっていく流れは酷くつまらない

1003 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 20:47:12.68 ID:TVIRLEiRH.net]
>>988
でもね、C のコンパイラは C で記述してほしかったですね
確かにカバの調教は難しいのかもしれませんが
というか、gcc をコンパイルするためだけの c で書かれた c++ コンパイラって需要ありますかね?

1004 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 20:51:31.04 ID:PC792jYOa.net]
>>988
無理すんなよ

1005 名前:蟻人間 mailto:sage [2022/07/31(日) 20:59:27.98 ID:sdKo2iJ+d.net]
そろ次スレ

1006 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 21:03:23 ]
[ここ壊れてます]

1007 名前:.63 ID:n00x/A2v0.net mailto: ラージモデルでFarポインタ使いまくったプログラム合ったけど、
今は流石に見るのも嫌だと思う
何言ってるか分からないと思うが、俺も分からない
[]
[ここ壊れてます]



1008 名前:デフォルトの名無しさん mailto:sage [2022/07/31(日) 21:17:26.94 ID:UwyiR8NW0.net]
>>992
むしろnearポインタの方が面倒だと思うが...

1009 名前:デフォルトの名無しさん (オッペケ Sr05-5tLW) mailto:sage [2022/08/01(月) 08:38:31 ID:wVsEVhkpr.net]
あり人間とかキチガイ、こっちでも頓珍漢なこと書いてるのか

1010 名前:ハノン mailto:sage [2022/08/01(月) 19:47:44.58 ID:kaXTkJ9F0.net]
>>992
ラージモデルの far ポインタでしょう?別に far とか書かなくても普通にポインタを書けば far ポインタになったはず
であれば、あとは 64kb の壁を意識してむやみにポインタのインクリメントをせずに上手に部分にわければなんとかなったでしょう

far ポインタでの経験はいろんな場所で活かせる貴重な体験だと思いますよ
私は試食版 LSI-C のスモールモデルで陽に far を指定して far ポインタをバリバリつかっていましたよ
スモールモデルだからコード領域はせまいけれども(near コールしか使えない)、far と書けばデータは 640KB までフルに使えましたし

1011 名前:デフォルトの名無しさん (ワッチョイ 16ae-G1eK) [2022/08/01(月) 20:05:11 ID:4CMby4Hu0.net]
インテルのクソ設計でみんな迷惑してたってだけの話
K&R Cの楽しさとは全く何の関係もない
68kと86系は異次元の世界だった

1012 名前:デフォルトの名無しさん mailto:sage [2022/08/01(月) 20:55:56.73 ID:4h+jHRsn0.net]
>>995
テキトー書く前に8086 メモリーモデル とか near far huge とかでググってから出直してこい

1013 名前:ハノン mailto:sage [2022/08/02(火) 07:34:13.90 ID:QS3wPWC90.net]
>>997
私の認識であってますよ
ラージモデルのデフォルトポインタ(データ・コードとも)は far ですし、スモールモデルはどちらも near
しかしスモールモデルでも far ポインタは far と陽に宣言すれば使えるんですよ…

1014 名前:デフォルトの名無しさん mailto:sage [2022/08/02(火) 11:58:06.82 ID:ziGJzmHZd.net]
Windows16ビットのCでは16ビットハンドルを架空の構造体へのnearポインタとして実装してたな(#define STRICTした場合)
例えばデバイスコンテキストハンドルをビットマップハンドルに代入しようとするとtype mismatchエラーになってすぐわかる
STRICTでないと単なる本来の16ビット整数として扱われ混同しても通ってしまう
win32ではnearがないので普通の32ビットポインタになってしまいメモリがちょっともったいない

1015 名前:デフォルトの名無しさん [2022/08/04(木) 18:41:17.13 ID:+TMVVsOn0.net]
>>92push(保存)してpop(書き戻し)してるから結局pushしたときのデータになる
popとpushの間のややこしいとこはシカトな

1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 222日 6時間 29分 31秒

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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