!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 156
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9bb7-/QqT)
2020/09/28(月) 14:41:30.00ID:QxfbhGyV0729デフォルトの名無しさん (ワッチョイ 6aa5-eHoJ)
2021/02/04(木) 14:24:26.67ID:xGlwnT6u0 もう21世紀だからな
ここから先は1GBのテキストファイルが普通になる
ここから先は1GBのテキストファイルが普通になる
730デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/05(金) 07:55:44.29ID:I+zADhcc0 >>728
テキストファイルを読めてhtmlをパースするような機器で今どき数メガも載ってないケースってかなり珍しいだろ
テキストファイルを読めてhtmlをパースするような機器で今どき数メガも載ってないケースってかなり珍しいだろ
731デフォルトの名無しさん (ワッチョイ 5752-IB1A)
2021/02/05(金) 08:01:49.33ID:XbPEadHi0 せいぜい数メガと言えるようなリッチな環境で
C言語でアプリを書く方が珍しいだろ
C言語でアプリを書く方が珍しいだろ
732デフォルトの名無しさん (ワッチョイ 9f52-xUEw)
2021/02/05(金) 08:20:44.95ID:JqQJ/dMo0733デフォルトの名無しさん (ワッチョイ 5752-IB1A)
2021/02/05(金) 08:32:27.83ID:XbPEadHi0734デフォルトの名無しさん (ワッチョイ 17d2-JWMU)
2021/02/05(金) 08:42:07.98ID:oeXhrntJ0 「決めつけ」はバグとセキュリティホールの元。
735デフォルトの名無しさん (スプッッ Sdcb-aPA7)
2021/02/05(金) 09:02:30.99ID:AjJLCZmld スパコンのOSはCで書かれている
736デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/05(金) 09:20:14.53ID:I+zADhcc0737デフォルトの名無しさん (スップ Sd3f-IB1A)
2021/02/05(金) 12:39:42.10ID:1XmQmKI8d738デフォルトの名無しさん (ドコグロ MMdf-pSMo)
2021/02/05(金) 12:52:09.08ID:AV0Gp17OM >>737
珍しくないと言うなら実例をあげればいいだけ
珍しくないと言うなら実例をあげればいいだけ
739デフォルトの名無しさん (ワッチョイ 9fad-MLSE)
2021/02/06(土) 10:12:48.76ID:DFt8vUVO0 mmapってUNIX系OSだけでは?他にもあるかも知れないが互換ライブラリ経由でそのOS固有の同機能のやつ呼んでたりしない?(それで良いなら良いんだが)
740デフォルトの名無しさん (アウウィフ FF9b-6HDI)
2021/02/06(土) 10:51:00.80ID:PohEB++tF 対象をhtmlに限定したのが敗因
741デフォルトの名無しさん (ガラプー KK4f-o9Gs)
2021/02/06(土) 11:26:44.70ID:EjDQT0l8K742デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/06(土) 11:45:50.67ID:zn5WrP4C0 >>739
何が問題なのかよくわからんが?
何が問題なのかよくわからんが?
743デフォルトの名無しさん (ワッチョイ 6f8c-w83u)
2021/02/22(月) 07:04:45.29ID:Xbe4DE+80 どうやったらループを小さくしたり無くしたり出来るのか教えてほしい。
744デフォルトの名無しさん (ワントンキン MM9f-H4LT)
2021/02/22(月) 08:02:42.93ID:NYs90WT8M べた書き?
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");
745デフォルトの名無しさん (ワッチョイ b325-Hwf9)
2021/02/22(月) 17:21:30.68ID:iIDQLaUs0 標準ライブラリにある処理はなるべく標準ライブラリのを使うとか
ループをまとめて関数に出すとかでいいんじゃないの?
根本的な解決にはならないかもだけど複雑度は下がる
あとはアルゴリズムの改善しかないんやない
ループをまとめて関数に出すとかでいいんじゃないの?
根本的な解決にはならないかもだけど複雑度は下がる
あとはアルゴリズムの改善しかないんやない
746デフォルトの名無しさん (スフッ Sd1f-4oy0)
2021/02/23(火) 02:48:11.51ID:VIkkm8/qd747デフォルトの名無しさん (スフッ Sd1f-4oy0)
2021/02/23(火) 03:04:42.97ID:VIkkm8/qd >>743
ループ変数をi, j, kとすれば、int ijk(範囲はi*j*k)とまとめればネストレベル3→1にできるよ
i = ijk/j/k
j = ijk%(j*k)/k
k = ijk%kね
パフォーマンスの利点もある
mo量子化学計算はナイーブには最低4段のforが要求されるんで、かなり重宝
なんで4段をcollapseしたいけど、他人が初見で解釈するのはちょっと無理強いなので控えてる
ループ変数をi, j, kとすれば、int ijk(範囲はi*j*k)とまとめればネストレベル3→1にできるよ
i = ijk/j/k
j = ijk%(j*k)/k
k = ijk%kね
パフォーマンスの利点もある
mo量子化学計算はナイーブには最低4段のforが要求されるんで、かなり重宝
なんで4段をcollapseしたいけど、他人が初見で解釈するのはちょっと無理強いなので控えてる
748デフォルトの名無しさん (スフッ Sd1f-4oy0)
2021/02/23(火) 03:15:27.68ID:VIkkm8/qd いや今書いたのも改めて並べるとmodに慣れていと1分くらい考えるか…
二段は簡潔なのでイディオムとして使って良いと思う
i*jを走るループ変数ijに対し、i==ij/j, j==ij%j
ネストは半分になるし可読性もよいので、多分ベストプラクティス
ネストしたループを全てワンライナーで書けるFortranが羨ましい
二段は簡潔なのでイディオムとして使って良いと思う
i*jを走るループ変数ijに対し、i==ij/j, j==ij%j
ネストは半分になるし可読性もよいので、多分ベストプラクティス
ネストしたループを全てワンライナーで書けるFortranが羨ましい
749デフォルトの名無しさん (ワッチョイ 93da-W5tZ)
2021/02/23(火) 03:42:44.91ID:1ia+Vnu00 divもmodもクソ遅いと思うんですがそれは
750デフォルトの名無しさん (スフッ Sd1f-4oy0)
2021/02/23(火) 04:31:33.75ID:VIkkm8/qd751デフォルトの名無しさん (スフッ Sd1f-4oy0)
2021/02/23(火) 04:35:35.49ID:VIkkm8/qd だからといってわざわざ速い最適化divmod拾ってくるまでの価値も無いし、つまらんハックか
猛省
猛省
752デフォルトの名無しさん (ガラプー KKa7-b/Iq)
2021/02/23(火) 08:24:27.89ID:NtDnGIIYK まあ定数の割り算は掛け算で実装するよな
753751 (スフッ Sd1f-4oy0)
2021/02/23(火) 12:00:01.73ID:EYNng8zFd >>752
今アセンブリ見てみたら2147...647=2^32-1を引いて頑張ってる様子が見えた!gcc -O3/win
色々パラメータ弄って様子見ようとしたら普通に割り出したので混乱したが、実行時に与えるとフォールバックするよう
コンパイル時に定数で与えたらそうするっぽい
勉強になった
今アセンブリ見てみたら2147...647=2^32-1を引いて頑張ってる様子が見えた!gcc -O3/win
色々パラメータ弄って様子見ようとしたら普通に割り出したので混乱したが、実行時に与えるとフォールバックするよう
コンパイル時に定数で与えたらそうするっぽい
勉強になった
754デフォルトの名無しさん (ワッチョイ 93da-W5tZ)
2021/02/23(火) 12:21:23.56ID:1ia+Vnu00 目安でしかないがx86-64ではmulと比べてdivやmodはレイテンシ2倍どころではない場合が多い
https://www.agner.org/optimize/instruction_tables.pdf
パフォーマンスが重要な場合は除数を定数にするか2の冪にしてシフト/論理積にする
https://www.agner.org/optimize/instruction_tables.pdf
パフォーマンスが重要な場合は除数を定数にするか2の冪にしてシフト/論理積にする
755デフォルトの名無しさん (ワッチョイ 6f8c-Dcdc)
2021/02/24(水) 15:46:51.63ID:/D2VYVJH0 ソフトウェア割り込みプログラムは書けるのか
756デフォルトの名無しさん (ワッチョイ a301-GD1z)
2021/02/25(木) 06:12:34.32ID:R7WVwVFS0 >>755
インラインアセンブラ必須かな
インラインアセンブラ必須かな
757デフォルトの名無しさん (ワッチョイ ff01-aOo0)
2021/02/25(木) 07:07:20.11ID:bxBNuN1v0 環境次第
組み込み系の処理系だと割り込みハンドラーを書けたり割り込みフラグの制御ができたりするのはよくある
組み込み系の処理系だと割り込みハンドラーを書けたり割り込みフラグの制御ができたりするのはよくある
758デフォルトの名無しさん (ワッチョイ a301-GD1z)
2021/02/25(木) 09:55:57.73ID:R7WVwVFS0 >>757
それはC言語仕様には無い特殊な命令。SHのCコンパイラとか。
それはC言語仕様には無い特殊な命令。SHのCコンパイラとか。
759デフォルトの名無しさん (ワッチョイ a32f-2wuD)
2021/02/25(木) 19:11:28.17ID:k63j55rm0 VCで作った実行ファイルを
cgiファイルに変える方法て
わからない?
どうしてもc.cgi.exeになって
しまう
cgiファイルに変える方法て
わからない?
どうしてもc.cgi.exeになって
しまう
760デフォルトの名無しさん (ドコグロ MMdf-jbj7)
2021/02/25(木) 19:17:09.21ID:JLHf2OjdM761デフォルトの名無しさん (ワッチョイ a301-VKJl)
2021/02/25(木) 20:00:24.23ID:MOr3wCfr0 ファイル名変えておいとくだけなんとちゃうの?
762デフォルトの名無しさん (ワッチョイ 8363-W5tZ)
2021/02/25(木) 20:06:31.57ID:ZW7ncKwI0 Windows系サーバーだったら、
実行ファイルc.exeをc.cgiにリネームすれば動くはず
実行ファイルc.exeをc.cgiにリネームすれば動くはず
763デフォルトの名無しさん (ガラプー KKa7-b/Iq)
2021/02/25(木) 20:47:45.34ID:yh+1kBamK764デフォルトの名無しさん (ワッチョイ cb01-jB1a)
2021/02/26(金) 03:45:13.89ID:5d4w5oMJ0 >>763
スレチ
スレチ
765デフォルトの名無しさん (ガラプー KKbb-sT37)
2021/02/26(金) 06:57:40.05ID:eCf8RuSVK //何だよ俺のせいかいw
//じゃせいぜいCだけででがんばりや
#include <stdio.h>
int main() { return rename("c.cgi.exe", "c.cgi"); }
//じゃせいぜいCだけででがんばりや
#include <stdio.h>
int main() { return rename("c.cgi.exe", "c.cgi"); }
766デフォルトの名無しさん (スップ Sd8a-m+7K)
2021/02/26(金) 08:02:43.73ID:M2eccXrmd renameってstdio.hだっけ?
767デフォルトの名無しさん (ワッチョイ 0705-DFeu)
2021/02/26(金) 09:51:30.74ID:31AFaQsJ0 >>766
stdioじゃよ
stdioじゃよ
768デフォルトの名無しさん (スップ Sd8a-m+7K)
2021/02/26(金) 12:12:32.73ID:M2eccXrmd げ、本当だ
769デフォルトの名無しさん (アウアウウー Sac5-a/3A)
2021/03/15(月) 16:52:25.12ID:XyNDIUjTa すみません、質問させてください
exturn FUNC(void, define1) 関数名(void)
ってなってるのが、関数のプロトタイプ宣言であることは理解できているのですが
FUNC()の意味が分からないです
define1にはキーワード定義だけされたdefineが入ってます
exturn FUNC(void, define1) 関数名(void)
ってなってるのが、関数のプロトタイプ宣言であることは理解できているのですが
FUNC()の意味が分からないです
define1にはキーワード定義だけされたdefineが入ってます
770デフォルトの名無しさん (ブーイモ MM76-9YAs)
2021/03/15(月) 17:06:32.77ID:Db4OPSpGM >>769
それはC言語の文法じゃなくて、あなたのプロジェクト固有のマクロなので、同僚に聞くかgrepしてください
それはC言語の文法じゃなくて、あなたのプロジェクト固有のマクロなので、同僚に聞くかgrepしてください
771デフォルトの名無しさん (アウアウウー Sac5-a/3A)
2021/03/15(月) 17:07:39.42ID:XyNDIUjTa772デフォルトの名無しさん (ワッチョイ 8569-9blg)
2021/03/16(火) 08:22:50.63ID:7emEuadh0 Cの文法内に収まる FUNC() って
一般C
#define FUNC(ret,opt) ret
Microsoft系のやつ 呼び出し規約まで対応
#define FUNC(ret,opt) ret opt
ぐらいしか想像つかんな それを吸収しようとしてるのかしら?
一般C
#define FUNC(ret,opt) ret
Microsoft系のやつ 呼び出し規約まで対応
#define FUNC(ret,opt) ret opt
ぐらいしか想像つかんな それを吸収しようとしてるのかしら?
773デフォルトの名無しさん (ブーイモ MMcb-T0kI)
2021/03/19(金) 19:09:51.97ID:mKZFPhjYM ret opt の記述順を変えなきゃなんないコンパイラ併用でもしてなきゃ
必然性無いよな
必然性無いよな
774デフォルトの名無しさん (ワッチョイ 9763-On6t)
2021/04/25(日) 18:24:42.50ID:1rqnmNJD0 VS2019を使用してます。
c言語でハッシュテーブルを使いたい場合、
定番のライブラリってありますか?
自作は考えてません。
c言語でハッシュテーブルを使いたい場合、
定番のライブラリってありますか?
自作は考えてません。
775デフォルトの名無しさん (ワッチョイ 8e63-On6t)
2021/04/25(日) 18:43:09.76ID:f5CNtQYv0 C++ hashクラスを使う
C 自作する
スキな道を歩もう
C 自作する
スキな道を歩もう
776デフォルトの名無しさん (ブーイモ MMed-t/cM)
2021/04/25(日) 19:49:36.36ID:bD1toMMoM Cにはない
多少は作るに該当するが、GPL汚染気にしないならhlist(list.h)かいっそのことrbtree引っ張ってくるのが楽
hlistは覚えてないがfreeBSDにもlist_headはあったと思うから雑に書いて作れる
多少は作るに該当するが、GPL汚染気にしないならhlist(list.h)かいっそのことrbtree引っ張ってくるのが楽
hlistは覚えてないがfreeBSDにもlist_headはあったと思うから雑に書いて作れる
777デフォルトの名無しさん (ワッチョイ 9763-On6t)
2021/04/25(日) 20:00:40.49ID:1rqnmNJD0 >>775-776
ありがとうございます。
ありがとうございます。
778デフォルトの名無しさん (ワッチョイ 9e90-On6t)
2021/04/26(月) 17:39:11.35ID:BhPjOTnw0 境界調整について教えて下さい
typedef struct stru{
int inta;
char ch;
double db;
} Str;
という構造体を作って、
Str st = {10 , 'n' , 5.20};
printf("構造体全体の大きさは %dバイト アドレスは %p \n", sizeof(st) , &st);
printf("inta の大きさ %dバイト アドレスは %p 値は %d \n", sizeof(st.inta), &st.inta , st.inta);
printf("ch の大きさ %dバイト アドレスは %p 値は %c \n", sizeof(st.ch) , &st.ch , st.ch);
printf("db の大きさ %dバイト アドレスは %p 値は %lf \n", sizeof(st.db) , &st.db , st.db);
としたところ、
構造体全体の大きさは 16バイト アドレスは 0019FF2C
inta の大きさ 4バイト アドレスは 0019FF2C 値は 10
ch の大きさ 1バイト アドレスは 0019FF30 値は n
db の大きさ 8バイト アドレスは 0019FF34 値は 5.200000
という結果が得られたんですけど、この中で
0019FF30から1バイト分には'n'という値が入っていて、
0019FF34から8バイト分には5.200000という値が入っているわけですよね?
では0019FF31から0019FF34までは何があるの?
typedef struct stru{
int inta;
char ch;
double db;
} Str;
という構造体を作って、
Str st = {10 , 'n' , 5.20};
printf("構造体全体の大きさは %dバイト アドレスは %p \n", sizeof(st) , &st);
printf("inta の大きさ %dバイト アドレスは %p 値は %d \n", sizeof(st.inta), &st.inta , st.inta);
printf("ch の大きさ %dバイト アドレスは %p 値は %c \n", sizeof(st.ch) , &st.ch , st.ch);
printf("db の大きさ %dバイト アドレスは %p 値は %lf \n", sizeof(st.db) , &st.db , st.db);
としたところ、
構造体全体の大きさは 16バイト アドレスは 0019FF2C
inta の大きさ 4バイト アドレスは 0019FF2C 値は 10
ch の大きさ 1バイト アドレスは 0019FF30 値は n
db の大きさ 8バイト アドレスは 0019FF34 値は 5.200000
という結果が得られたんですけど、この中で
0019FF30から1バイト分には'n'という値が入っていて、
0019FF34から8バイト分には5.200000という値が入っているわけですよね?
では0019FF31から0019FF34までは何があるの?
779デフォルトの名無しさん (スッップ Sd70-cgNm)
2021/04/26(月) 17:55:49.95ID:NyQKOVd9d 何もない
780デフォルトの名無しさん (アウアウウー Sa30-QG0P)
2021/04/26(月) 18:15:58.84ID:IaPVNFDHa ごみ
781デフォルトの名無しさん (テテンテンテン MM34-TKdI)
2021/04/26(月) 18:21:46.90ID:uqOlgHvIM782デフォルトの名無しさん (ブーイモ MMfd-t/cM)
2021/04/26(月) 18:27:06.04ID:4kXIzh+CM783778 (ワッチョイ 9e90-On6t)
2021/04/26(月) 18:28:20.87ID:BhPjOTnw0 その領域はとにかく使えないって事なんすかね。
784デフォルトの名無しさん (スッップ Sd70-cgNm)
2021/04/26(月) 18:31:26.64ID:NyQKOVd9d そうなんです
785デフォルトの名無しさん (ワッチョイ 4d61-1Gce)
2021/04/26(月) 18:32:08.60ID:TR73VE240 使いたいならchの後にcharを3つ作ればいいじゃない
786デフォルトの名無しさん (アウアウウー Sa83-t/cM)
2021/04/26(月) 20:06:39.04ID:fVzcGJCCa >>778
__attribute__ ((packed))
__attribute__ ((packed))
787デフォルトの名無しさん (ワッチョイ 1e01-3cD6)
2021/04/26(月) 20:43:03.58ID:+l9LtKe60788デフォルトの名無しさん (ワッチョイ 9e90-On6t)
2021/04/26(月) 22:14:43.60ID:BhPjOTnw0790デフォルトの名無しさん (ワッチョイ 4dda-vrNx)
2021/04/26(月) 22:20:18.66ID:fe3Q/YJ30 訓練でC言語を習っています。
就職先としてはJAVAの客先常駐になると思うのですが、
C言語も習う以上はある程度使えるようになりたいと思っています。
ポインタが難しいとよく見るのですが、勉強になるウェブサイトが
ありましたら教えてください。
もしくはポインタだけの参考書があるようなのですが、
それを買った方が良いですかね?
就職先としてはJAVAの客先常駐になると思うのですが、
C言語も習う以上はある程度使えるようになりたいと思っています。
ポインタが難しいとよく見るのですが、勉強になるウェブサイトが
ありましたら教えてください。
もしくはポインタだけの参考書があるようなのですが、
それを買った方が良いですかね?
791デフォルトの名無しさん (ラクッペペ MM34-/WW/)
2021/04/27(火) 06:03:07.86ID:RrDgDJ6XM ゆとり?
技術的な内容ならまだしも学習方法や心構えまで他人に丸投げするのは職業人の姿勢として如何なものか
技術的な内容ならまだしも学習方法や心構えまで他人に丸投げするのは職業人の姿勢として如何なものか
792デフォルトの名無しさん (ワッチョイ 66e6-cgNm)
2021/04/28(水) 18:46:29.71ID:7AKt1vSf0 そういう時代
熱くなるな
PCを持ってないような人がソフト開発者として面接に来るような時代
熱くなるな
PCを持ってないような人がソフト開発者として面接に来るような時代
793デフォルトの名無しさん (アウアウウー Sa83-jiG2)
2021/04/28(水) 21:52:06.89ID:PZc7df0ca Cで Windows、Linux、macOS のすべてで動作するコンソールアプリを作りました
標準のライブラリのみを使用していたつもりでも、知らずにGNU拡張を使用していたり、若干の移植の障害はありましたが、それほどではありませんでした
同じようなことを C++ でやろうとした場合、Cより難しくなりそうでしょうか、そうでもないでしょうか
C++ でやるからには STL は使いたいです
標準のライブラリのみを使用していたつもりでも、知らずにGNU拡張を使用していたり、若干の移植の障害はありましたが、それほどではありませんでした
同じようなことを C++ でやろうとした場合、Cより難しくなりそうでしょうか、そうでもないでしょうか
C++ でやるからには STL は使いたいです
794デフォルトの名無しさん (ワッチョイ 66e6-cgNm)
2021/04/28(水) 22:44:05.13ID:7AKt1vSf0 同じようなもんじゃない?
795デフォルトの名無しさん (ワッチョイ 8e63-On6t)
2021/04/28(水) 23:21:11.19ID:PlZRAN+K0 言語仕様としてのGNU拡張は使ってもライセンスに触れないよな?
触れるのはライブラリ使用した場合じゃないか?
触れるのはライブラリ使用した場合じゃないか?
796デフォルトの名無しさん (ワッチョイ 1e01-3cD6)
2021/04/28(水) 23:35:23.05ID:4KD2riuz0 コンパイラ独自の拡張であってポータビリティに欠けるってだけで
それ自体がGNUライセンスに引っかかるわけではない
それ自体がGNUライセンスに引っかかるわけではない
797デフォルトの名無しさん (ブーイモ MM5e-t/cM)
2021/04/28(水) 23:56:50.52ID:sVhsMckNM798デフォルトの名無しさん (ワッチョイ 8e63-On6t)
2021/04/29(木) 00:15:24.35ID:T1kQSA270 意外と引っかかるのは、複雑な変数宣言を読み解くこと
799793 (アウアウウー Sa83-jiG2)
2021/04/29(木) 10:41:18.72ID:8DhczGXra ご意見ありがとうございました
やはり、掛かる手間は同じようなものですかね
やはり、掛かる手間は同じようなものですかね
800デフォルトの名無しさん (ワッチョイ 9f45-3cD6)
2021/04/29(木) 11:08:27.39ID:1rAkIDNr0 基本文法を憶えたら何かまとまったアプリを作んないと
ただ言語そのものを習ってそれっきりだと忘れるだけだぞ
ただ言語そのものを習ってそれっきりだと忘れるだけだぞ
801デフォルトの名無しさん (ワッチョイ d469-sVZV)
2021/04/29(木) 13:50:03.41ID:56IZFSRD0 所詮は道具だし、使わないと忘れる
>>793
C++11 以降は、例えばスレッド制御・ファイルシステムをライブラリに取り込む、など積極的に環境依存が少なくなるように動いている(ように私には見える)ので、多分移植はもっともっと易しくなる、と思います、失礼、易しくなる気がしないでもありません‥‥
C++11 以降は、例えばスレッド制御・ファイルシステムをライブラリに取り込む、など積極的に環境依存が少なくなるように動いている(ように私には見える)ので、多分移植はもっともっと易しくなる、と思います、失礼、易しくなる気がしないでもありません‥‥
>>790
「新・標準プログラマーズライブラリ C言語 ポインタ完全制覇」前橋 和弥著
https://www.%61%6d%61%7a%6f%6e.co.jp/dp/B077ZTQY62/
ポインタを完全制覇してくれる本だそうです、私も興味があったのでポチりました‥‥
「新・標準プログラマーズライブラリ C言語 ポインタ完全制覇」前橋 和弥著
https://www.%61%6d%61%7a%6f%6e.co.jp/dp/B077ZTQY62/
ポインタを完全制覇してくれる本だそうです、私も興味があったのでポチりました‥‥
804793 (アウアウウー Sa83-jiG2)
2021/04/29(木) 16:48:12.19ID:loQVmfSpa805デフォルトの名無しさん (ワッチョイ c7da-g980)
2021/05/02(日) 15:45:22.42ID:LfIZA/yy0 cについてほとんど知らないけど、組み込みがメインな感じですか?
806デフォルトの名無しさん (ワッチョイ 8702-ZmhP)
2021/05/02(日) 15:56:09.60ID:/1wJlD5g0 システムプログラミングの方が多いんでない?元々それ用だし
OSのインターフェース提供はどこもC
OSのインターフェース提供はどこもC
807はちみつ餃子 ◆8X2XSCHEME (ワッチョイ df3e-OedE)
2021/05/02(日) 16:01:37.32ID:VAfyzxcR0 パソコンでも低レイヤ (カーネルとかデバイスドライバとか) は C で書くことも珍しくはないし、
アプリケーションのめっちゃ速度が重要なとことかは C で書いたほうがチューニングしやすい。
言語処理系なんかはだいたい C か C++ で実装されるよ。 (Python とか Ruby とか Perl とか。)
ハードウェアの都合に合わせたチューニングが必要なところはパソコンにもまだまだ有って、
割合で言えばそれほど多くは無いけど、
絶対数で言えば組み込みで C が使われるよりはパソコンで C が使われるほうが多いと思う。
(数値的な根拠があるわけじゃなくて私の印象だけど。)
アプリケーションのめっちゃ速度が重要なとことかは C で書いたほうがチューニングしやすい。
言語処理系なんかはだいたい C か C++ で実装されるよ。 (Python とか Ruby とか Perl とか。)
ハードウェアの都合に合わせたチューニングが必要なところはパソコンにもまだまだ有って、
割合で言えばそれほど多くは無いけど、
絶対数で言えば組み込みで C が使われるよりはパソコンで C が使われるほうが多いと思う。
(数値的な根拠があるわけじゃなくて私の印象だけど。)
808デフォルトの名無しさん (ワッチョイ e7da-Ew5U)
2021/05/02(日) 16:46:12.37ID:3j0DSsAI0 これからはカーネルドライバもRustで書こうぜ
809デフォルトの名無しさん (ワッチョイ 7fad-PtfA)
2021/05/02(日) 18:40:43.65ID:r2Ed4Ypi0 >>808
だからメモリ割り当てでABENDするような言語系を
カーネルで使えるわけないでしょw
2021年4月15日 パニックお断り―Linus,"Rust for Linux"の盛り上がりに釘を刺す:Linux Daily Topics|gihyo.jp … 技術評論社
https://gihyo.jp/admin/clip/01/linux_dt/202104/15
だからメモリ割り当てでABENDするような言語系を
カーネルで使えるわけないでしょw
2021年4月15日 パニックお断り―Linus,"Rust for Linux"の盛り上がりに釘を刺す:Linux Daily Topics|gihyo.jp … 技術評論社
https://gihyo.jp/admin/clip/01/linux_dt/202104/15
810デフォルトの名無しさん (ワッチョイ e7da-Ew5U)
2021/05/02(日) 20:01:40.03ID:3j0DSsAI0811デフォルトの名無しさん (ワッチョイ 7fad-6mS1)
2021/05/02(日) 22:32:14.89ID:r2Ed4Ypi0812デフォルトの名無しさん (ラクッペペ MM8f-EcTW)
2021/05/03(月) 12:38:32.98ID:2qlH4pSsM >>811
まさにそうする話がもまいの提示した記事に書いてあるんよ
まさにそうする話がもまいの提示した記事に書いてあるんよ
813デフォルトの名無しさん (ワッチョイ bbda-DjaX)
2021/05/07(金) 21:44:15.09ID:vGOhdVnf0 >>811
https://www.tag1consulting.com/blog/interview-linus-torvalds-linux-and-git
「Rustなー、まあそのうちわかるんじゃねーの?
コアはねーだろうけどドライバならいんじゃね?
C言語の置き換えっつーよりCの補佐的な?」
って言ってるし、これ読む限り Linusもだいぶ前向きじゃん
https://www.tag1consulting.com/blog/interview-linus-torvalds-linux-and-git
「Rustなー、まあそのうちわかるんじゃねーの?
コアはねーだろうけどドライバならいんじゃね?
C言語の置き換えっつーよりCの補佐的な?」
って言ってるし、これ読む限り Linusもだいぶ前向きじゃん
814デフォルトの名無しさん (ワッチョイ be46-Rb4A)
2021/05/08(土) 20:10:13.24ID:jbZm9MmR0 github.com/bear24rw/alsa-utils/blob/master/aplay/aplay.c :135行
static off64_t pbrec_count = LLONG_MAX, fdcount;
が
static off64_t pbrec_count = LLONG_MAX;
と書かれていない理由を400字以内で述べよ。
ちなみに、我が家では LLONG_MAX値 == fdcount値 です。
static off64_t pbrec_count = LLONG_MAX, fdcount;
が
static off64_t pbrec_count = LLONG_MAX;
と書かれていない理由を400字以内で述べよ。
ちなみに、我が家では LLONG_MAX値 == fdcount値 です。
815デフォルトの名無しさん (ワッチョイ 6aad-jjtP)
2021/05/08(土) 22:16:59.18ID:4nIz2VjA0 しらねえ。
↑
5文字目
↑
5文字目
816デフォルトの名無しさん (アウウィフ FF1f-dxvU)
2021/05/09(日) 13:32:52.94ID:WMytKT+1F >static off64_t pbrec_count = LLONG_MAX, fdcount;
>が
>static off64_t pbrec_count = LLONG_MAX;
>と書かれていない理由を400字以内で述べよ。
知らんがな
>static off64_t pbrec_count = LLONG_MAX, fdcount;
>が
>static off64_t pbrec_count = fdcount;
>と書かれていない理由を400字以内で述べよ。
書いた香具師に聴け
>が
>static off64_t pbrec_count = LLONG_MAX;
>と書かれていない理由を400字以内で述べよ。
知らんがな
>static off64_t pbrec_count = LLONG_MAX, fdcount;
>が
>static off64_t pbrec_count = fdcount;
>と書かれていない理由を400字以内で述べよ。
書いた香具師に聴け
817デフォルトの名無しさん (ワッチョイ 5a81-2aW8)
2021/05/25(火) 13:13:50.22ID:0e19GInL0 int (**c)[];
と
int *(*e[]);
の意味がわからずに困っています。
ちなみに二つとも意味がわかりません。これらは同じものなんでしょうか?
と
int *(*e[]);
の意味がわからずに困っています。
ちなみに二つとも意味がわかりません。これらは同じものなんでしょうか?
818デフォルトの名無しさん (ワッチョイ f345-lMMI)
2021/05/25(火) 13:28:28.93ID:d4PPfL2v0 cはint配列へのポインタへのポインタ
eはintポインタへのポインタの配列で、丸括弧は不要
cとeは同じではない
eはintポインタへのポインタの配列で、丸括弧は不要
cとeは同じではない
819デフォルトの名無しさん (ワッチョイ df69-I6Yg)
2021/05/25(火) 13:33:48.93ID:tg9vUr3N0 ややこしそうなのは途中に strust や typedef 使って先送りにする
820デフォルトの名無しさん (ワッチョイ df69-I6Yg)
2021/05/25(火) 13:37:45.63ID:tg9vUr3N0 struct
821デフォルトの名無しさん (ワッチョイ dfd2-lZiV)
2021/05/25(火) 13:44:44.11ID:7uNVaR2o0 ポインタ変数定義に()が付くと理解が困難になる・・・。
822デフォルトの名無しさん (ワッチョイ 4e63-cE2x)
2021/05/25(火) 13:50:25.07ID:mW0d20UP0823デフォルトの名無しさん (ワッチョイ 5a81-2aW8)
2021/05/25(火) 13:57:49.19ID:0e19GInL0824デフォルトの名無しさん (ワッチョイ 8abd-+D+D)
2021/05/25(火) 19:01:00.19ID:5zVTpare0 小生使う機会ないんでそんな複雑な記述の経験ないし機会あっても出来る自信ないのだけれど、アセンブラで書くと縦長になるソレを横に圧縮したC言語って、ホント効率落とさず物臭する為の記述だよね。
(アセンブラよりは)安全だし。
(アセンブラよりは)安全だし。
825デフォルトの名無しさん (ワッチョイ f345-lMMI)
2021/05/25(火) 21:20:58.20ID:d4PPfL2v0 ケントンプソンの面倒くさがりをデニスリッチーが後継した高級アセンブラ
826デフォルトの名無しさん (ワッチョイ 765f-baYp)
2021/05/25(火) 21:26:46.44ID:mNrV1IEb0 cdecl で説明してもらえば?
827デフォルトの名無しさん (ワッチョイ 765f-baYp)
2021/05/26(水) 09:42:42.04ID:mfYAtZMN0 pkg install cdecl すると,c++decl -> cdecl しかsym-linkしてないので
手動でexplain -> cdecl cast -> cdecl declare -> cdecl もいれておいた.
で,
explain 'int (**c)[]'
declare c as pointer to pointer to array of int
explain 'int *(*e[]);'
declare e as array of pointer to pointer to int
と説明された.
手動でexplain -> cdecl cast -> cdecl declare -> cdecl もいれておいた.
で,
explain 'int (**c)[]'
declare c as pointer to pointer to array of int
explain 'int *(*e[]);'
declare e as array of pointer to pointer to int
と説明された.
828デフォルトの名無しさん (エムゾネ FFba-4Cki)
2021/05/26(水) 11:19:17.43ID:2/BE6bBSF■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 【無職の男(31)】女子小学生に次々触る 下半身を露出した状態で 公然わいせつ、不同意わいせつ疑い 千葉県警 [nita★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【実況】博衣こよりのえちえち朝活🧪
- 朝からハイエースでカップラーメン食べてるドカタ
- 【悲惨】中国軍が自衛隊に「事前通告」し自衛隊も返答した音声が公開されてしまうwww
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- 冬季賞与報告スレ [577451214]
- アホが使うワード 解像度 言語化 あと一つは?
