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


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

C言語なら俺に聞け 156



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

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言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

718 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:03:50.04 ID:5yr9aQzL0.net]
Cのenumはマクロと大して変わらんのだから、マクロで代用するとか

719 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:11:58.71 ID:v6ebtUL10.net]
マクロに代わるべく作られたenumがマクロで代用されるとは
無様な・・・

720 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 09:18:04.19 ID:v6ebtUL10.net]
6.7.2.2 Enumeration specifiers
3 The identifiers in an enumerator list are declared as constants that have type int and may appear wherever such are permitted.

6.7.2.2 列挙型指定子
意味規則 列挙子並びの中の識別子は,型int をもつ定数として宣言され,この型の定数が許されるところならばどこに現れてもよい。

はっきり、intと書いてあるね
long longになる余地は全くない

721 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 11:57:56.06 ID:vkxM9MCda.net]
intとlong longが同一の可能性は残る
まぁ普通ではないが

素直にC++でenum classにするのがいいのでは

722 名前:デフォルトの名無しさん [2021/02/01(月) 14:28:14.54 ID:fos4FOVOF.net]
enum と enum class って紛らわしいよね

723 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 17:41:32.38 ID:v6ebtUL10.net]
enum classは関係ない
enum-baseだ

724 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 19:37:32.66 ID:vkxM9MCda.net]
>>718
enumのベース型ってenum classじゃなくても出来たのか
勘違いしてたわ

725 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:43:21.53 ID:9cKOvUYE0.net]
>>715
なるほど、ありがとう。

726 名前:デフォルトの名無しさん [2021/02/02(火) 06:19:12.09 ID:wjKGtX300.net]
enumはステート制御で重宝する。



727 名前:デフォルトの名無しさん [2021/02/02(火) 15:29:55.49 ID:gtWVIswm0.net]
質問です。__lsan_disableが期待通りに動きません。
サイト見るとAllocations made between calls to __lsan_disable() and __lsan_enable() will
be treated as non-leaks. Disable/enable pairs may be nested.と書いてあったのでプログラム作りました。
しかし__lsan_enable〜__lsan_do_leak_checkもリークチェックされます。原因が分かりません。

#include </usr/lib/gcc/x86_64-linux-gnu/10/include/sanitizer/lsan_interface.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void* thFunc(void *arg) { __lsan_disable(); sleep(4); fprintf(stderr, "en start\n"); __lsan_enable();
fprintf(stderr, "en end\n"); sleep(4); __lsan_do_leak_check(); exit(-1);
}
int main() { int rc; pthread_t th; pthread_create(&th, 0, thFunc, 0);
for (int i = 0; i < 30000; i++) { sleep(1); int *p = malloc(1);
fprintf(stderr, "malloc\n"); } return 0;}
よろしくお願いいたします

728 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 08:08:40.40 ID:3ZiqWZ4T0.net]
>>712
処理系依存

729 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 11:24:59.43 ID:P1e/f4pz0.net]
テキストファイルを読み込む場合、主にfgetsやfgetcでやる方法があると思うのですが調べてみるとmmapを使う方法もあるようなのですがどれを使うのが良いんですかね?
やりたいのはhtmlソースの書かれたテキストファイルの簡単な解析です
もしくは全く別に有名なライブラリみたいなのがあるんでしょうか?

730 名前:はちみつ餃子 mailto:sage [2021/02/04(木) 12:15:35.04 ID:ttCVH4wp0.net]
>>724
大きなファイルに細かなランダムアクセスが発生するときは
シークを繰り返すよりも mmap を活用した方が有利になることもあると思うけど、
常識的に考えればひとつの html はせいぜいが数メガ程度だろうし、
凝った管理をしなくても全部メモリに乗るでしょ。

731 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:31:56.12 ID:P1e/f4pz0.net]
>>725
ファイルサイズで使い分ける感じなんですね
ありがとうございます

732 名前:はちみつ餃子 mailto:sage [2021/02/04(木) 13:43:25.23 ID:ttCVH4wp0.net]
>>726
処理の内容によってプログラムのデザインには選択肢があって、
ファイルからの読み込みの仕方はそのデザインに付随するという感じ。

733 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 14:20:09.93 ID:jgksMTX2d.net]
C言語スレで
せいぜい数メガと言っちゃう感覚

734 名前:デフォルトの名無しさん [2021/02/04(木) 14:24:26.67 ID:xGlwnT6u0.net]
もう21世紀だからな
ここから先は1GBのテキストファイルが普通になる

735 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 07:55:44.29 ID:I+zADhcc0.net]
>>728
テキストファイルを読めてhtmlをパースするような機器で今どき数メガも載ってないケースってかなり珍しいだろ

736 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 08:01:49.33 ID:XbPEadHi0.net]
せいぜい数メガと言えるようなリッチな環境で
C言語でアプリを書く方が珍しいだろ



737 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 08:20:44.95 ID:JqQJ/dMo0.net]
>>731
質問者>>724がやりたいって言ってるんだから、珍しいかどうかなんてどうでもいいだろう

738 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 08:32:27.83 ID:XbPEadHi0.net]
せいぜい数メガと言えるようにリッチな環境かどうかなんて
>>724にしかわからないわけだけど

>>731を考えたらリッチじゃないって考えるのは自然な発想

739 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 08:42:07.98 ID:oeXhrntJ0.net]
「決めつけ」はバグとセキュリティホールの元。

740 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:02:30.99 ID:AjJLCZmld.net]
スパコンのOSはCで書かれている

741 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:20:14.53 ID:I+zADhcc0.net]
>>731,733
なぜC言語なのかは>>724に聞いてくれ
少なくとも今どきmmapまで使える環境でメガも乗ってない環境って相当珍しいだろって話な

742 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:39:42.10 ID:1XmQmKI8d.net]
>>736
>>734

743 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:52:09.08 ID:AV0Gp17OM.net]
>>737
珍しくないと言うなら実例をあげればいいだけ

744 名前:デフォルトの名無しさん [2021/02/06(土) 10:12:48.76 ID:DFt8vUVO0.net]
mmapってUNIX系OSだけでは?他にもあるかも知れないが互換ライブラリ経由でそのOS固有の同機能のやつ呼んでたりしない?(それで良いなら良いんだが)

745 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 10:51:00.80 ID:PohEB++tF.net]
対象をhtmlに限定したのが敗因

746 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 11:26:44.70 ID:EjDQT0l8K.net]
>>739
メモリマップトファイル一般を指しての発言じゃないかな、CreateFileMapping()とか含めて。

>>740
たぶんシーケンシャルアクセスで足りるから、read()でええやんってなるよな。



747 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 11:45:50.67 ID:zn5WrP4C0.net]
>>739
何が問題なのかよくわからんが?

748 名前:デフォルトの名無しさん [2021/02/22(月) 07:04:45.29 ID:Xbe4DE+80.net]
どうやったらループを小さくしたり無くしたり出来るのか教えてほしい。

749 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 08:02:42.93 ID:NYs90WT8M.net]
べた書き?
printf("hello flat!\n");
printf("hello flat!\n");
printf("hello flat!\n");

750 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:21:30.68 ID:iIDQLaUs0.net]
標準ライブラリにある処理はなるべく標準ライブラリのを使うとか
ループをまとめて関数に出すとかでいいんじゃないの?
根本的な解決にはならないかもだけど複雑度は下がる
あとはアルゴリズムの改善しかないんやない

751 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 02:48:11.51 ID:VIkkm8/qd.net]
>>739
実装は知らんがむしろwinでは頻用すると思う
80'後半くらいに生まれたそろそろ古参なスクリプト言語(Pythonなど)には大体ある
スクリプト故に富豪的に全部載せ

752 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 03:04:42.97 ID:VIkkm8/qd.net]
>>743
ループ変数をi, j, kとすれば、int ijk(範囲はi*j*k)とまとめればネストレベル3→1にできるよ
i = ijk/j/k
j = ijk%(j*k)/k
k = ijk%kね
パフォーマンスの利点

753 名前:烽る
mo量子化学計算はナイーブには最低4段のforが要求されるんで、かなり重宝
なんで4段をcollapseしたいけど、他人が初見で解釈するのはちょっと無理強いなので控えてる
[]
[ここ壊れてます]

754 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 03:15:27.68 ID:VIkkm8/qd.net]
いや今書いたのも改めて並べるとmodに慣れていと1分くらい考えるか…
二段は簡潔なのでイディオムとして使って良いと思う
i*jを走るループ変数ijに対し、i==ij/j, j==ij%j
ネストは半分になるし可読性もよいので、多分ベストプラクティス

ネストしたループを全てワンライナーで書けるFortranが羨ましい

755 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 03:42:44.91 ID:1ia+Vnu00.net]
divもmodもクソ遅いと思うんですがそれは

756 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 04:31:33.75 ID:VIkkm8/qd.net]
>>749
ステップ数で考えてたからそういう視点は無かったかも、精々2倍程度だし見落としてた

-o3とかするとベンチ的には速いから最適化とか効いてるんだろうかね?



757 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 04:35:35.49 ID:VIkkm8/qd.net]
だからといってわざわざ速い最適化divmod拾ってくるまでの価値も無いし、つまらんハックか
猛省

758 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 08:24:27.89 ID:NtDnGIIYK.net]
まあ定数の割り算は掛け算で実装するよな

759 名前:751 mailto:sage [2021/02/23(火) 12:00:01.73 ID:EYNng8zFd.net]
>>752
今アセンブリ見てみたら2147...647=2^32-1を引いて頑張ってる様子が見えた!gcc -O3/win
色々パラメータ弄って様子見ようとしたら普通に割り出したので混乱したが、実行時に与えるとフォールバックするよう
コンパイル時に定数で与えたらそうするっぽい
勉強になった

760 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 12:21:23.56 ID:1ia+Vnu00.net]
目安でしかないがx86-64ではmulと比べてdivやmodはレイテンシ2倍どころではない場合が多い

https://www.agner.org/optimize/instruction_tables.pdf

パフォーマンスが重要な場合は除数を定数にするか2の冪にしてシフト/論理積にする

761 名前:デフォルトの名無しさん [2021/02/24(水) 15:46:51.63 ID:/D2VYVJH0.net]
ソフトウェア割り込みプログラムは書けるのか

762 名前:デフォルトの名無しさん [2021/02/25(木) 06:12:34.32 ID:R7WVwVFS0.net]
>>755
インラインアセンブラ必須かな

763 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 07:07:20.11 ID:bxBNuN1v0.net]
環境次第
組み込み系の処理系だと割り込みハンドラーを書けたり割り込みフラグの制御ができたりするのはよくある

764 名前:デフォルトの名無しさん [2021/02/25(木) 09:55:57.73 ID:R7WVwVFS0.net]
>>757
それはC言語仕様には無い特殊な命令。SHのCコンパイラとか。

765 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 19:11:28.17 ID:k63j55rm0.net]
VCで作った実行ファイルを
cgiファイルに変える方法て
わからない?
どうしてもc.cgi.exeになって
しまう

766 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 19:17:09.21 ID:JLHf2OjdM.net]
>>759
どのHTTPサーバか、どんな設定にしてるかにもよるけど
名前だけ変えればおkじゃねーの?



767 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 20:00:24.23 ID:MOr3wCfr0.net]
ファイル名変えておいとくだけなんとちゃうの?

768 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 20:06:31.57 ID:ZW7ncKwI0.net]
Windows系サーバーだったら、
実行ファイルc.exeをc.cgiにリネームすれば動くはず

769 名前:デフォルトの名無しさん mailto:sage [2021/02/25(木) 20:47:45.34 ID:yh+1kBamK.net]
そもそもCの話じゃないんだが
>>759
エクスプローラの表示の設定を「拡張子を表示する」モードにすべし

「拡張子を表示しない」のチェックを外す方式だったかもしれん

770 名前:デフォルトの名無しさん [2021/02/26(金) 03:45:13.89 ID:5d4w5oMJ0.net]
>>763
スレチ

771 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 06:57:40.05 ID:eCf8RuSVK.net]
//何だよ俺のせいかいw
//じゃせいぜいCだけででがんばりや
#include <stdio.h>
int main() { return rename("c.cgi.exe", "c.cgi"); }

772 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 08:02:43.73 ID:M2eccXrmd.net]
renameってstdio.hだっけ?

773 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 09:51:30.74 ID:31AFaQsJ0.net]
>>766
stdioじゃよ

774 名前:デフォルトの名無しさん mailto:sage [2021/02/26(金) 12:12:32.73 ID:M2eccXrmd.net]
げ、本当だ

775 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 16:52:25.12 ID:XyNDIUjTa.net]
すみません、質問させてください

exturn FUNC(void, define1) 関数名(void)

ってなってるのが、関数のプロトタイプ宣言であることは理解できているのですが
FUNC()の意味が分からないです
define1にはキーワード定義だけされたdefineが入ってます

776 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 17:06:32.77 ID:Db4OPSpGM.net]
>>769
それはC言語の文法じゃなくて、あなたのプロジェクト固有のマクロなので、同僚に聞くかgrepしてください



777 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 17:07:39.42 ID:XyNDIUjTa.net]
>>770
ですよねー
もう聞くわ

778 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 08:22:50.63 ID:7emEuadh0.net]
Cの文法内に収まる FUNC() って

一般C
#define FUNC(ret,opt) ret
Microsoft系のやつ 呼び出し規約まで対応
#define FUNC(ret,opt) ret opt

ぐらいしか想像つかんな それを吸収しようとしてるのかしら?

779 名前:デフォルトの名無しさん [2021/03/19(金) 19:09:51.97 ID:mKZFPhjYM.net]
ret opt の記述順を変えなきゃなんないコンパイラ併用でもしてなきゃ
必然性無いよな

780 名前:デフォルトの名無しさん mailto:sage [2021/04/25(日) 18:24:42.50 ID:1rqnmNJD0.net]
VS2019を使用してます。
c言語でハッシュテーブルを使いたい場合、
定番のライブラリってありますか?
自作は考えてません。

781 名前:デフォルトの名無しさん mailto:sage [2021/04/25(日) 18:43:09.76 ID:f5CNtQYv0.net]
C++ hashクラスを使う
C 自作する

スキな道を歩もう

782 名前:デフォルトの名無しさん mailto:sage [2021/04/25(日) 19:49:36.36 ID:bD1toMMoM.net]
Cにはない
多少は作るに該当するが、GPL汚染気にしないならhlist(list.h)かいっそのことrbtree引っ張ってくるのが楽
hlistは覚えてないがfreeBSDにもlist_headはあったと思うから雑に書いて作れる

783 名前:デフォルトの名無しさん mailto:sage [2021/04/25(日) 20:00:40.49 ID:1rqnmNJD0.net]
>>775-776
ありがとうございます。

784 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 17:39:11.35 ID:BhPjOTnw0.net]
境界調整について教えて下さい
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までは何があるの?

785 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 17:55:49.95 ID:NyQKOVd9d.net]
何もない

786 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 18:15:58.84 ID:IaPVNFDHa.net]
ごみ



787 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 18:21:46.90 ID:uqOlgHvIM.net]
>>778
何があるかわからないしむりやり読んだら何が起こるかわからない

ってことになってる

788 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 18:27:06.04 ID:4kXIzh+CM.net]
>>778
ファイルに書き出してバイナリダンプ
gdbでx

見ても大したことない

789 名前:778 mailto:sage [2021/04/26(月) 18:28:20.87 ID:BhPjOTnw0.net]
その領域はとにかく使えないって事なんすかね。

790 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 18:31:26.64 ID:NyQKOVd9d.net]
そうなんです

791 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 18:32:08.60 ID:TR73VE240.net]
使いたいならchの後にcharを3つ作ればいいじゃない

792 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 20:06:39.04 ID:fVzcGJCCa.net]
>>778
__attribute__ ((packed))

793 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 20:43:03.58 ID:+l9LtKe60.net]
#pragma pack(push,1)
>>778
#pragma pack(pop)

794 名前:デフォルトの名無しさん mailto:sage [2021/04/26(月) 22:14:43.60 ID:BhPjOTnw0.net]
またいつの間にかレスが。
>>784
それもありか。なるほど。

>>786,787
そういうのがあるんですか。入門書なんかには出てこないよね、それw
教えていただきありがとです

795 名前:788 mailto:sage [2021/04/26(月) 22:16:02.71 ID:BhPjOTnw0.net]
>>784>>785だった

796 名前:デフォルトの名無しさん [2021/04/26(月) 22:20:18.66 ID:fe3Q/YJ30.net]
訓練でC言語を習っています。
就職先としてはJAVAの客先常駐になると思うのですが、
C言語も習う以上はある程度使えるようになりたいと思っています。
ポインタが難しいとよく見るのですが、勉強になるウェブサイトが
ありましたら教えてください。
もしくはポインタだけの参考書があるようなのですが、
それを買った方が良いですかね?



797 名前:デフォルトの名無しさん mailto:sage [2021/04/27(火) 06:03:07.86 ID:RrDgDJ6XM.net]
ゆとり?
技術的な内容ならまだしも学習方法や心構えまで他人に丸投げするのは職業人の姿勢として如何なものか

798 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 18:46:29.71 ID:7AKt1vSf0.net]
そういう時代
熱くなるな

PCを持ってないような人がソフト開発者として面接に来るような時代

799 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 21:52:06.89 ID:PZc7df0ca.net]
Cで Windows、Linux、macOS のすべてで動作するコンソールアプリを作りました
標準のライブラリのみを使用していたつもりでも、知らずにGNU拡張を使用していたり、若干の移植の障害はありましたが、それほどではありませんでした
同じようなことを C++ でやろうとした場合、Cより難しくなりそうでしょうか、そうでもないでしょうか
C++ でやるからには STL は使いたいです

800 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 22:44:05.13 ID:7AKt1vSf0.net]
同じようなもんじゃない?

801 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 23:21:11.19 ID:PlZRAN+K0.net]
言語仕様としてのGNU拡張は使ってもライセンスに触れないよな?
触れるのはライブラリ使用した場合じゃないか?

802 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 23:35:23.05 ID:4KD2riuz0.net]
コンパイラ独自の拡張であってポータビリティに欠けるってだけで
それ自体がGNUライセンスに引っかかるわけではない

803 名前:デフォルトの名無しさん mailto:sage [2021/04/28(水) 23:56:50.52 ID:sVhsMckNM.net]
>>790
・格納先を渡す(普通のポインタ
・callee alloc(二重ポインタ
・関数ポインタ
これだけ分かってればいいというか、仕事でならこの範囲だけにしとけ

804 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 00:15:24.35 ID:T1kQSA270.net]
意外と引っかかるのは、複雑な変数宣言を読み解くこと

805 名前:793 mailto:sage [2021/04/29(木) 10:41:18.72 ID:8DhczGXra.net]
ご意見ありがとうございました
やはり、掛かる手間は同じようなものですかね

806 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 11:08:27.39 ID:1rAkIDNr0.net]
基本文法を憶えたら何かまとまったアプリを作んないと
ただ言語そのものを習ってそれっきりだと忘れるだけだぞ



807 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 13:50:03.41 ID:56IZFSRD0.net]
所詮は道具だし、使わないと忘れる

808 名前: mailto:sage [2021/04/29(木) 16:32:35.09 ID:q0JKcoqRH.net]
>>793
C++11 以降は、例えばスレッド制御・ファイルシステムをライブラリに取り込む、など積極的に環境依存が少なくなるように動いている(ように私には見える)ので、多分移植はもっともっと易しくなる、と思います、失礼、易しくなる気がしないでもありません‥‥

809 名前: mailto:sage [2021/04/29(木) 16:39:37.88 ID:q0JKcoqRH.net]
>>790
「新・標準プログラマーズライブラリ C言語 ポインタ完全制覇」前橋 和弥著
https://www.%61%6d%61%7a%6f%6e.co.jp/dp/B077ZTQY62/
ポインタを完全制覇してくれる本だそうです、私も興味があったのでポチりました‥‥

810 名前:793 mailto:sage [2021/04/29(木) 16:48:12.19 ID:loQVmfSpa.net]
>>802
ありがとうございます
そんなこともあるのかなと、淡い期待もしつつ… でした

811 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 15:45:22.42 ID:LfIZA/yy0.net]
cについてほとんど知らないけど、組み込みがメインな感じですか?

812 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 15:56:09.60 ID:/1wJlD5g0.net]
システムプログラミングの方が多いんでない?元々それ用だし
OSのインターフェース提供はどこもC

813 名前:はちみつ餃子 mailto:sage [2021/05/02(日) 16:01:37.32 ID:VAfyzxcR0.net]
パソコンでも低レイヤ (カーネルとかデバイスドライバとか) は C で書くことも珍しくはないし、
アプリケーションのめっちゃ速度が重要なとことかは C で書いたほうがチューニングしやすい。
言語処理系なんかはだいたい C か C++ で実装されるよ。 (Python とか Ruby とか Perl とか。)

ハードウェアの都合に合わせたチューニングが必要なところはパソコンにもまだまだ有って、
割合で言えばそれほど多くは無いけど、
絶対数で言えば組み込みで C が使われるよりはパソコンで C が使われるほうが多いと思う。
(数値的な根拠があるわけじゃなくて私の印象だけど。)

814 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 16:46:12.37 ID:3j0DSsAI0.net]
これからはカーネルドライバもRustで書こうぜ

815 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 18:40:43.65 ID:r2Ed4Ypi0.net]
>>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

816 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 20:01:40.03 ID:3j0DSsAI0.net]
>>809
だいじょぶだろ
そのうちなんかキャッチする機構とか実装すんだろ
そしたらLinusもニタニタしながら受け入れるよ



817 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 22:32:14.89 ID:r2Ed4Ypi0.net]
>>810
んじゃ、そうなってから>>808みたいなことは言おうねw
狸が逃げるよw

818 名前:デフォルトの名無しさん mailto:sage [2021/05/03(月) 12:38:32.98 ID:2qlH4pSsM.net]
>>811
まさにそうする話がもまいの提示した記事に書いてあるんよ






[ 続きを読む ] / [ 携帯版 ]

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

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