22/07/30 17:20:48 B4kVDCsM0.net
>>964
C23 には defer は入らない見込み。 全体としては C++ の後追い的な変更が多い。
auto が型推論付きの変数定義になるだとか、constexpr や nullptr が導入されるだとか、
属性の表記法が C++ 風の [[ ]] を使った形になるだとか、そういう感じのやつ。
(ちなみに今回導入される constexpr は変数には付けられるが関数には付けられないので
コンパイル時プログラミングが C++ みたいに出来るわけではない。
定数式の成立要件が C と C++ で違うので C++ 寄りにする追加機能。)
思い切った変更ではあるが、根本的なプログラミングスタイルを変えない程度のバランスのとれたところだと思う。
982:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9a3e-dSCr)
22/07/30 17:34:09 B4kVDCsM0.net
>>966
もちろんそういう部分も大きいけど……。
リッチな組み込みは一昔前のパソコンを超えるくらいの性能はあるし Linux くらいは載るので、
デバイスドライバさえ用意すればあとはパソコンみたいに使えるという場合は普通にある。
かつては組み込みと言えばそのデバイスドライバの部分こそ大きかったと思うんだが、
IoT を意識するレベルの製品だとアプリケーションレイヤが巨大なので Python くらいは動くこともあるだろう。
主流かというとちょっと疑問ではあるが……。
983:デフォルトの名無しさん (ワッチョイ 7a63-dSCr)
22/07/30 17:38:53 rf6S0zxh0.net
それは組み込みと言うより、OS上で動かしている単なるアプリだろう
984:デフォルトの名無しさん (ラクッペペ MMee-kNao)
22/07/30 17:48:55 lDkW8Lp7M.net
URLリンク(www.google.co.jp)
985:デフォルトの名無しさん (ワッチョイ 7a63-dSCr)
22/07/30 17:50:58 rf6S0zxh0.net
パソコンで同じことやっても組み込みなんて言わないし
986:デフォルトの名無しさん (ラクッペペ MMee-kNao)
22/07/30 18:00:48 jaybBP1OM.net
組み込みの開発はクロス開発が基本なのでパソコンはただの端末だけどね
プログラムはボード上のSoCで実行される
987:デフォルトの名無しさん
22/07/30 19:32:55.53 wZaxY20D0.net
IoTにはC言語は深く入り込んでないのか
>>967
型推論付くってマジ?
個人的には嬉しい
988:デフォルトの名無しさん
22/07/30 19:50:32.99 zHogqexf0.net
>>964
> 高レイヤーだと普通にリッチな言語が使われたりするのかな
複合機などはWebサーバー程度は普通に入ってるから設定画面等は HTML, JavaScript, CSS, Python を使ってたりする
IWS (Internal Web Server:HTML, JavaScript, CSS, Python)
URLリンク(dsp.konicaminolta.jp)
もちろんOS上で動いてるし、でかいシステムだとPCその物を内蔵してたりすることもある
なのでこんなものが売られてる
URLリンク(jpn.nec.com)
989:デフォルトの名無しさん
22/07/30 19:51:42.13 DgXxKl0UM.net
IoTというよりはスタンドアローン環境か小規模な独自ネットワーク程度の組み込み分野の方がC/C++利用は多いと思う
990:デフォルトの名無しさん
22/07/30 23:12:48.90 wZaxY20D0.net
>>974
こういう機材に囲まれたことないなー
俺はIoTは名前だけでほんとに実感がない
991:はちみつ餃子
22/07/30 23:53:43.60 B4kVDCsM0.net
>>969
機器に「組み込まれ」ているなら組み込みと呼んでいいだろう。
パソコンに近い構成にしてパソコンでも使えるソフトウェアを活用する場合があるというのは結果論だよ。
992:デフォルトの名無しさん
22/07/31 00:41:41.63 n00x/A2v0.net
そうなるとPC使っていても組み込み扱いして良いと言うことになりますよね
近い構成どころか、何でもありになりそう
993:はちみつ餃子
22/07/31 01:25:42.56 9sXTRHUo0.net
そうだよ。
技術的な実態としてはそんなにはっきりした境界がない。 なんでもありだ。
用途の側でふんわりと分野が分かれてる。
994:デフォルトの名無しさん
22/07/31 01:39:56.41 AA5JChgka.net
組込とハード制御的なやつの混同はよくありますね
995:デフォルトの名無しさん
22/07/31 06:39:14.45 1QnevV7r0.net
>>961
Cは枯れた言語で今さら新機能は誰も望んでないからな
むしろ余計なことをしてくれるなと
996:デフォルトの名無しさん
22/07/31 14:01:45.17 k/gcENLBM.net
古いソースが問題なくコンパイル出来ないと、それはそれで問題にされる。
今でもトライグラフ受け入れないと駄目なんだろう
997:ハノン
22/07/31 17:43:38.22 E3I5T4z5H.net
>>981
C99 の C++ との互換性がまったく取れていない変てこ機能はさっさと削除してほしいものです
いまや私は C のソースを書くのに C++ コンパイラが通るか試してみる体たらく、あれらはいったいなんなんだ?
998:はちみつ餃子
22/07/31 19:20:45.67 9sXTRHUo0.net
今回「削除」になったのはいわゆるK&Rスタイルの関数定義くらいだな。
いずれ削除するということは以前から書かれてたし、
習慣的にも行儀が悪いという考え方が支配的だから
これで問題が起こるなら長い移行期間中に対応できてなかったほうが悪いと言ってよかろ。
999:デフォルトの名無しさん
22/07/31 19:35:38.56 n00x/A2v0.net
削除って事は、古いソースのコンパイルはもはや出来ないと言うことなんでしょうか
いや、なに、クラシックカーに乗ってみたい位の好奇心ですけど
1000:アリ人間
22/07/31 19:46:09.16 sdKo2iJ+d.net
歳をとるということ 〃
シワが増えるということ 〃
なのに
ぼくたち
私たちは 〃
なぜ、最新機種で進化の止まった古臭いコンパイラを使うのでしょうか
でしょうか
1001:はちみつ餃子
22/07/31 20:23:09.10 9sXTRHUo0.net
>>985
削除された機能を使っていればそういうことになるが、
そもそも C で書かれたプログラムなんてどこかしらで環境依存な部分があるもんだし、
よほど配慮されたものでない限り古いコードは素直には動かないのが普通だろう。
まあ C23 が出来たからと言って C89 (に対応したコンパイラ) が直ちに消滅するわけでもないし、
なんだかんだであと二十年くらいたっても C89 派がそれなりにはいそうな気がする。
1002:デフォルトの名無しさん
22/07/31 20:35:31.51 1QnevV7r0.net
K&R CこそCの面白さの塊なんだけどな
GCCが「カバにダンスを踊らせるのはあまり面白くない」なんて言ってた人もいるように
歳月とともに雁字搦めになっていく流れは酷くつまらない
1003:デフォルトの名無しさん
22/07/31 20:47:12.68 TVIRLEiRH.net
>>988
でもね、C のコンパイラは C で記述してほしかったですね
確かにカバの調教は難しいのかもしれませんが
というか、gcc をコンパイルするためだけの c で書かれた c++ コンパイラって需要ありますかね?
1004:デフォルトの名無しさん
22/07/31 20:51:31.04 PC792jYOa.net
>>988
無理すんなよ
1005:蟻人間
22/07/31 20:59:27.98 sdKo2iJ+d.net
そろ次スレ
1006:デフォルトの名無しさん
22/07/31 21:03:23
1007:.63 ID:n00x/A2v0.net
1008:デフォルトの名無しさん
22/07/31 21:17:26.94 UwyiR8NW0.net
>>992
むしろnearポインタの方が面倒だと思うが...
1009:デフォルトの名無しさん (オッペケ Sr05-5tLW)
22/08/01 08:38:31 wVsEVhkpr.net
あり人間とかキチガイ、こっちでも頓珍漢なこと書いてるのか
1010:ハノン
22/08/01 19:47:44.58 kaXTkJ9F0.net
>>992
ラージモデルの far ポインタでしょう?別に far とか書かなくても普通にポインタを書けば far ポインタになったはず
であれば、あとは 64kb の壁を意識してむやみにポインタのインクリメントをせずに上手に部分にわければなんとかなったでしょう
far ポインタでの経験はいろんな場所で活かせる貴重な体験だと思いますよ
私は試食版 LSI-C のスモールモデルで陽に far を指定して far ポインタをバリバリつかっていましたよ
スモールモデルだからコード領域はせまいけれども(near コールしか使えない)、far と書けばデータは 640KB までフルに使えましたし
1011:デフォルトの名無しさん (ワッチョイ 16ae-G1eK)
22/08/01 20:05:11 4CMby4Hu0.net
インテルのクソ設計でみんな迷惑してたってだけの話
K&R Cの楽しさとは全く何の関係もない
68kと86系は異次元の世界だった
1012:デフォルトの名無しさん
22/08/01 20:55:56.73 4h+jHRsn0.net
>>995
テキトー書く前に8086 メモリーモデル とか near far huge とかでググってから出直してこい
1013:ハノン
22/08/02 07:34:13.90 QS3wPWC90.net
>>997
私の認識であってますよ
ラージモデルのデフォルトポインタ(データ・コードとも)は far ですし、スモールモデルはどちらも near
しかしスモールモデルでも far ポインタは far と陽に宣言すれば使えるんですよ…
1014:デフォルトの名無しさん
22/08/02 11:58:06.82 ziGJzmHZd.net
Windows16ビットのCでは16ビットハンドルを架空の構造体へのnearポインタとして実装してたな(#define STRICTした場合)
例えばデバイスコンテキストハンドルをビットマップハンドルに代入しようとするとtype mismatchエラーになってすぐわかる
STRICTでないと単なる本来の16ビット整数として扱われ混同しても通ってしまう
win32ではnearがないので普通の32ビットポインタになってしまいメモリがちょっともったいない
1015:デフォルトの名無しさん
22/08/04 18:41:17.13 +TMVVsOn0.net
>>92push(保存)してpop(書き戻し)してるから結局pushしたときのデータになる
popとpushの間のややこしいとこはシカトな
1016:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 222日 6時間 29分 31秒
1017:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています