!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言語なら俺に聞け 156
https://mevius.5ch.net/test/read.cgi/tech/1601271690/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 157
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0345-kMi9)
2021/06/28(月) 11:22:51.50ID:so+vl3vs0503デフォルトの名無しさん (ワッチョイ 3d5f-uZV+)
2021/08/29(日) 05:30:35.87ID:HDdtcjYC0 人類が言葉を話す前の拒否を表す叫びが言葉になったのだろう。
504デフォルトの名無しさん (ワッチョイ a5bb-U7Lh)
2021/08/29(日) 08:16:38.59ID:0FIWs/PL0 いやだ!
やめろ!
はNじゃないけど
やめろ!
はNじゃないけど
505デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/29(日) 08:19:11.41ID:z+CvjRY2a スモモモモモモモモ
506デフォルトの名無しさん (ガラプー KK16-Cwam)
2021/08/29(日) 08:43:55.40ID:kXE2QuW0K507デフォルトの名無しさん (ワッチョイ 2236-u6Y8)
2021/08/29(日) 08:46:40.86ID:XBz6dM210 離散データを連続データのように見せかけるフィルターを作りたい。
アルゴリズム名を教えてください。
アルゴリズム名を教えてください。
508デフォルトの名無しさん (ワッチョイ 5145-Ctl7)
2021/08/29(日) 08:51:04.40ID:s3BI9dN30 不是
↑
Nで始まるどころか含まれてもいない
↑
Nで始まるどころか含まれてもいない
509デフォルトの名無しさん (ワッチョイ 3d5f-Wwpo)
2021/08/29(日) 09:56:38.96ID:Qq6uUubw0 _countof を使うべきですか?
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/countof-macro?view=msvc-160
もっと良い計数方法ありますか?
https://docs.microsoft.com/ja-jp/cpp/c-runtime-library/reference/countof-macro?view=msvc-160
もっと良い計数方法ありますか?
510デフォルトの名無しさん (ワッチョイ 3d5f-Wwpo)
2021/08/29(日) 10:01:34.24ID:Qq6uUubw0 >>502
フランス語には何故 pas があるの?
フランス語には何故 pas があるの?
511デフォルトの名無しさん (エムゾネ FF22-pzwr)
2021/08/29(日) 10:14:57.45ID:LcGcn6bDF512デフォルトの名無しさん (NZ 0H4a-Wux5)
2021/08/29(日) 16:11:09.82ID:bszwbM+aH513デフォルトの名無しさん (ワッチョイ c101-ahI4)
2021/08/29(日) 16:24:27.16ID:Gww7yuPw0 >>510
neの発音が小さくて聞き取れないから付けることになった
neの発音が小さくて聞き取れないから付けることになった
514デフォルトの名無しさん (ワッチョイ 02ad-U7Lh)
2021/08/29(日) 17:57:42.29ID:Lt7wAmk40 nulぽ
515デフォルトの名無しさん (ワッチョイ ada2-m34F)
2021/08/29(日) 18:16:18.76ID:jyQ+I+xW0 ( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>514
(_フ彡 /
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>514
(_フ彡 /
516デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/29(日) 18:44:57.73ID:5p1Kcso30 日本語だとにゃー、英語だとmew
517507 (ワッチョイ 2236-u6Y8)
2021/08/29(日) 19:19:21.76ID:XBz6dM210 投稿するスレッドを間違えてしまったかもしれません。>>507
それ以後、いろいろ調べつづけましたが、
どうやら内挿法とか補間法とか呼ばれていることが分かりました。
そのためのアルゴリズムを探してみます。
ありがとうございました。
それ以後、いろいろ調べつづけましたが、
どうやら内挿法とか補間法とか呼ばれていることが分かりました。
そのためのアルゴリズムを探してみます。
ありがとうございました。
518デフォルトの名無しさん (ワッチョイ 1163-U7Lh)
2021/08/29(日) 19:26:53.70ID:5p1Kcso30 宿題スレやお題スレなら、反応があるかも知れん
519507 (ワッチョイ 2236-u6Y8)
2021/08/29(日) 19:40:59.03ID:XBz6dM210 離散的なデータのプロットから滑らかな曲線を得たいのですが、
ベジェ曲線を使う必要があるため、それも計算する必要があります。
ではこの辺でさようなら。
ベジェ曲線を使う必要があるため、それも計算する必要があります。
ではこの辺でさようなら。
520デフォルトの名無しさん (アウウィフ FF85-4thN)
2021/08/30(月) 14:56:32.12ID:a7szkEqkF FFT
521デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/30(月) 17:40:48.45ID:7tjRHlOya Final Fantasy XII
522デフォルトの名無しさん (ワッチョイ 6101-Ctl7)
2021/08/30(月) 22:24:16.28ID:u8tdK0uP0 与えられた離散的な点を必ず通る曲線なのか適度に近いとろこを通す曲線なのか
523デフォルトの名無しさん (アウアウウー Sa85-0BKB)
2021/08/31(火) 20:16:31.77ID:5EZjygd6a Fire Fox TV
525デフォルトの名無しさん (ワッチョイ 724d-U7Lh)
2021/09/01(水) 09:37:56.74ID:BXH5CjID0527デフォルトの名無しさん (ワッチョイ 595e-xJJl)
2021/09/11(土) 14:53:10.23ID:H4dj0oy10 代入時など左辺に&をつけない理由って、元々左辺の変数はその変数のアドレスを示しているんですか?
528デフォルトの名無しさん (ワッチョイ 6d63-dGLa)
2021/09/11(土) 17:29:15.71ID:fnRem4gD0 左辺にアドレス値を書いても、そのアドレスに格納してくれるわけではない
529デフォルトの名無しさん (ワッチョイ 0a69-wHYb)
2021/09/11(土) 19:49:04.18ID:UoYK8G+w0 変数は(多くの場合)メモリ上に置かれる
a=bの式をコンパイラは「bのアドレスのメモリにある値をaのアドレスのメモリにコピーする」と解釈する
でもそれをソースコード上で&a=&bと書かせてもお得なことはないよね
言語上では「a, bは(抽象化された)変数」で、その変数への代入は「a=b」でいいよね
a=bの式をコンパイラは「bのアドレスのメモリにある値をaのアドレスのメモリにコピーする」と解釈する
でもそれをソースコード上で&a=&bと書かせてもお得なことはないよね
言語上では「a, bは(抽象化された)変数」で、その変数への代入は「a=b」でいいよね
530デフォルトの名無しさん (ワッチョイ e521-se0r)
2021/09/11(土) 20:30:31.76ID:IpYcp5mx0 >>527
C++だと参照型が近いけど、あれはあれで窮屈ながらも、便利っちゃ便利かもな。
でもポインタ幅きかせてるCであえて拡張したい記法かといえば微妙よね。
void func(char &c) { c *= 2; }
みたいなのね。
C++だと参照型が近いけど、あれはあれで窮屈ながらも、便利っちゃ便利かもな。
でもポインタ幅きかせてるCであえて拡張したい記法かといえば微妙よね。
void func(char &c) { c *= 2; }
みたいなのね。
531デフォルトの名無しさん (ワッチョイ 595e-xJJl)
2021/09/11(土) 22:33:45.82ID:H4dj0oy10 皆さんありがとう
scanfで変数に&を付ける理由はいろんなとこに書いてあるんだけど、
それならなんで普通の代入の時に&を付けないんだ?
って疑問に思ってました
scanfで変数に&を付ける理由はいろんなとこに書いてあるんだけど、
それならなんで普通の代入の時に&を付けないんだ?
って疑問に思ってました
532デフォルトの名無しさん (アウアウウー Sa21-ndeh)
2021/09/11(土) 23:06:30.86ID:LC2TQyRsa void f(int *p)
{ *p = 1; }
….
int i;
i = 0;
printf("%d\n"); // 0
f(&i);
printf("%d\n"); // 1
{ *p = 1; }
….
int i;
i = 0;
printf("%d\n"); // 0
f(&i);
printf("%d\n"); // 1
533デフォルトの名無しさん (ワッチョイ 6d63-dGLa)
2021/09/12(日) 00:21:46.80ID:F+ZN0nvA0 scanfに限らず、関数に変数を渡すと、その関数は、
渡された変数の値を受け取れるだけで、
変数の値の書き換えは出来ません
書き換えて欲しいときは、書き換える場所を関数に教えます
普通の代入の時は、その変数を直接操作できるので
あえてアドレス表記する必要が無いです
渡された変数の値を受け取れるだけで、
変数の値の書き換えは出来ません
書き換えて欲しいときは、書き換える場所を関数に教えます
普通の代入の時は、その変数を直接操作できるので
あえてアドレス表記する必要が無いです
534デフォルトの名無しさん (ワッチョイ eaad-pW2y)
2021/09/12(日) 02:58:55.75ID:zHKafq1A0 memcpy(&a, &b, sizeof(a));
なんてことを、昔々構造体の変数の代入が出来ないCのサブセットのコンパイラでやったことがあったような気がするが、もはや記憶も曖昧になるぐらいの大昔。時の経つのは早いものぢゃ。
なんてことを、昔々構造体の変数の代入が出来ないCのサブセットのコンパイラでやったことがあったような気がするが、もはや記憶も曖昧になるぐらいの大昔。時の経つのは早いものぢゃ。
535デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/12(日) 10:12:20.10ID:BvG4P5vd0 サブセットつーか、そもそもK&R Cは構造体代入できないね
536デフォルトの名無しさん (ワッチョイ e521-se0r)
2021/09/12(日) 14:36:50.48ID:Yq9DVfRn0 >>531
int c;に対して&c = 100という記述はだめなのって疑問かな?
代入演算子は左辺に変数を置いて値を書き込む特別な演算子だけど、
それをその変数の型を含むアドレス値を左辺に置いてそのアドレスに
書き込むという定義とするわけだ。
定義自体がややこしいし、
アドレス全面押しにする理由がない(むしろ遮蔽したい)、
頻繁に用いる演算子ゆえタイプ数が増えたりするのは好まない、
などメリットがないのだろうね。
=と==を=にまとめてしまって、代入時は&付けるという方向は
あるかも知れませんが、コード中代入のが多いでしょうから、
代入をシンプルにしたのではと。
int c;に対して&c = 100という記述はだめなのって疑問かな?
代入演算子は左辺に変数を置いて値を書き込む特別な演算子だけど、
それをその変数の型を含むアドレス値を左辺に置いてそのアドレスに
書き込むという定義とするわけだ。
定義自体がややこしいし、
アドレス全面押しにする理由がない(むしろ遮蔽したい)、
頻繁に用いる演算子ゆえタイプ数が増えたりするのは好まない、
などメリットがないのだろうね。
=と==を=にまとめてしまって、代入時は&付けるという方向は
あるかも知れませんが、コード中代入のが多いでしょうから、
代入をシンプルにしたのではと。
537デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/12(日) 14:42:45.51ID:BvG4P5vd0 FORTRANの代入を真似ただけだろ
538デフォルトの名無しさん (ワッチョイ eaad-dGLa)
2021/09/13(月) 01:06:14.49ID:MTzB4xqO0 >>535
あ。そうだったっけ。忘れてた。
あ。そうだったっけ。忘れてた。
539デフォルトの名無しさん (ワッチョイ eaad-dGLa)
2021/09/13(月) 01:13:16.73ID:MTzB4xqO0 int c;
*(&c) = 1;
ていうのなら出来る。
コンパイラは何の警告も出さずにコンパイルするかも知れないが、結局 c = 1; をやっているのと同じコードが出力されると思う。
*(&c) = 1;
ていうのなら出来る。
コンパイラは何の警告も出さずにコンパイルするかも知れないが、結局 c = 1; をやっているのと同じコードが出力されると思う。
540はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/13(月) 01:28:42.84ID:b2LY5t5P0 代入演算子の左辺に現れることが出来るのは変更可能な左辺値 (modifiable lvalue) で、
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。
>>539 の例はその条件を満たす。
>>527
たとえば
int c = 1;
a = 2;
というのは C では有効なコードだけれど、変数を評価すると格納されている値になるというルールを
そのまま適用すると
1 = 2;
になってしまっておかしい、左辺は「場所」でないといけないという感覚はとても良い感性なのだけれど、
左辺がアドレスということにしたとしてもアドレスはポインタ型の「値」でしかないのでそれはそれで
なんだか変なことになる。
結局は特別な規則を導入必要はあって、 C においてはそれが lvalue という概念というわけ。
541デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 07:34:08.89ID:wBWjVwq/M わざとやってるのか知らんけどコードくらいまともに書けよ
542デフォルトの名無しさん (スプッッ Sd12-dgdc)
2021/09/13(月) 09:12:44.29ID:BLplThEad >>531
C++は面倒なことになったな
#include <iostream>
using namespace std;
int main(int ac, char **av)
{
int a = 3;
int &b = a;
cout << a << b << endl;
return 0;
}
C++は面倒なことになったな
#include <iostream>
using namespace std;
int main(int ac, char **av)
{
int a = 3;
int &b = a;
cout << a << b << endl;
return 0;
}
543デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/13(月) 09:47:47.66ID:B8QV0Pmm0 ここはCスレ
544デフォルトの名無しさん (アウアウウー Sa21-ndeh)
2021/09/13(月) 13:35:49.31ID:lh01OzgJa545デフォルトの名無しさん (ワッチョイ 6a69-bL/7)
2021/09/13(月) 16:53:30.27ID:XjglcLZY0 副作用をポインタを経由して呼び出し元に伝播する ポインタ渡し
引数変数への代入がそのまま呼び出し元の変数に反映される 参照渡し(C言語には無い)
引数変数への代入がそのまま呼び出し元の変数に反映される 参照渡し(C言語には無い)
546デフォルトの名無しさん (ワッチョイ 6a69-bL/7)
2021/09/13(月) 16:57:08.25ID:XjglcLZY0 関数の壁(呼び出し元と 呼び出された関数内の記述)を超えるときに & を使って壁を越える工夫をする
同じコード内の変数への代入ならば不要
同じコード内の変数への代入ならば不要
547デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/13(月) 17:04:06.19ID:JA2CmiO7M &使わないと釣り銭をもらえない
548はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/13(月) 17:52:01.78ID:b2LY5t5P0 C の仕様では引数は一貫して値渡しで、その値の型がポインタ型のこともあるという理屈になってる。
(仕様の理屈はともかくポインタの活用の仕方としてポインタ渡しと呼ぶことを否定するわけではない。)
(仕様の理屈はともかくポインタの活用の仕方としてポインタ渡しと呼ぶことを否定するわけではない。)
549デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/13(月) 17:58:15.13ID:+BvkCNRX0 C言語は昔からアドレス渡しと言っているけどな。
550デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/13(月) 18:00:26.00ID:+BvkCNRX0 ポインタ渡しだとポインタ変数限定みたいに捉えてしまいそうだなw
551デフォルトの名無しさん (ワッチョイ 5985-dgdc)
2021/09/13(月) 20:02:35.33ID:LTFifztG0 「アドレス渡し」の方がアセンブラに近い
ただしポインタ型のサイズで加減するアドレッシング機能付き
「ポインタ渡し」はPASCAL由来やろ
あと配列のサイズも一緒に渡す機能は付いてたらよかったのになーともたまに思う
ただしポインタ型のサイズで加減するアドレッシング機能付き
「ポインタ渡し」はPASCAL由来やろ
あと配列のサイズも一緒に渡す機能は付いてたらよかったのになーともたまに思う
552デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/13(月) 21:18:13.15ID:+BvkCNRX0 OSを作るために作られたのに
553デフォルトの名無しさん (アウアウウー Sa21-ndeh)
2021/09/14(火) 01:01:51.69ID:cEQHQvCwa ポインタには型があるから、オブジェクトの大きさも、structへのポインタなら、各メンバへのオフセットや大きさやら…
554デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/14(火) 06:05:05.77ID:48wIBTET0 >>553
型はあってないようなもの
型はあってないようなもの
555デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/14(火) 07:07:50.62ID:TY9EyEr50 カーニハンは辛辣なPascal批判の論文書いてるね
556デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/14(火) 07:08:21.19ID:TY9EyEr50557デフォルトの名無しさん (ワッチョイ e521-se0r)
2021/09/14(火) 07:16:50.67ID:0vgLnSzd0 >>556
論文って開いてみたら、タイトルクソワロタ。
論文って開いてみたら、タイトルクソワロタ。
558デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/14(火) 07:26:42.56ID:TY9EyEr50 よかったね
559デフォルトの名無しさん (テテンテンテン MM3e-PBPl)
2021/09/14(火) 09:36:35.35ID:Hja/bGISM 卒論のテーマはこれで決まりだな
560デフォルトの名無しさん (ワッチョイ c55f-m40g)
2021/09/14(火) 10:50:21.10ID:5Y/jembp0 アドレス私って、
b = a;
c = a;
とかやってて、a=0にすると、bもcも0になるってこと?
b = a;
c = a;
とかやってて、a=0にすると、bもcも0になるってこと?
561デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/14(火) 11:31:36.84ID:TY9EyEr50 それは参照だ
C++のな
Cでやるなら
#define b a
#define c a
C++のな
Cでやるなら
#define b a
#define c a
562デフォルトの名無しさん (エムゾネ FF0a-dgdc)
2021/09/14(火) 13:58:37.43ID:eQ96wDaCF >>557
Matz の論文は I hate C++ だぞω
Matz の論文は I hate C++ だぞω
563デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/14(火) 15:48:56.00ID:48wIBTET0 >>556
性能重視の部分は考え方の違いだな。UNIXを作るにあたって不要な部分を取り除いた結果がC。
性能重視の部分は考え方の違いだな。UNIXを作るにあたって不要な部分を取り除いた結果がC。
564デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/14(火) 15:51:55.83ID:48wIBTET0 >>560
メモリのアドレスを直接、渡すから、呼び出し元の領域をそういうふうに直接、触ることになる。
メモリのアドレスを直接、渡すから、呼び出し元の領域をそういうふうに直接、触ることになる。
565ハノン ◆QZaw55cn4c
2021/09/14(火) 17:38:29.69 私は pascal は好きなんですけど‥‥
566デフォルトの名無しさん (ワッチョイ eaad-pW2y)
2021/09/14(火) 23:42:22.10ID:/drSXHoF0 Delphiは昔使ってたな。拡張しまくったPascalというかなんというか。
567デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/15(水) 00:41:20.00ID:h1CB84tY0 アセンブラのようなことができた方がいいというのが出発点だからなあ
568はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/15(水) 01:36:14.40ID:/JHaU2Oz0 今でこそ C は低レイヤ寄りと見做されるけど「高級言語で OS を書きたい」というモチベーションから作られている。
おそらく当時の感覚からすればむしろアセンブラ的な世界からの脱却だったんじゃないかな。
歴史的経緯はある程度は記録を辿れるけど時代を背景にした「感覚」というのは現代人からはなかなか掴みづらくてあくまでも想像だけど。
おそらく当時の感覚からすればむしろアセンブラ的な世界からの脱却だったんじゃないかな。
歴史的経緯はある程度は記録を辿れるけど時代を背景にした「感覚」というのは現代人からはなかなか掴みづらくてあくまでも想像だけど。
569デフォルトの名無しさん (ワッチョイ a95f-q+67)
2021/09/15(水) 05:11:14.87ID:h1CB84tY0 おおざっぱに言うとアセンブラの見た目を変更したのがC
570デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/15(水) 07:08:27.66ID:+suq2kti0 アセンブラの無駄のなさと、高級言語の移植性の、両取りを狙う試みだね
571ハノン ◆QZaw55cn4c
2021/09/15(水) 14:05:30.69 それはどうでしょうか‥
turbo c の asm 文抜きのいきなりインラインはよく使っていましたが、そんな turbo c でもキャリーフラグを直接使えなかった気がします、そんな記憶がふつふつと
turbo c の asm 文抜きのいきなりインラインはよく使っていましたが、そんな turbo c でもキャリーフラグを直接使えなかった気がします、そんな記憶がふつふつと
572デフォルトの名無しさん (ワッチョイ ad45-m40g)
2021/09/15(水) 14:16:20.72ID:+suq2kti0 ローテート命令はキャリーありの9bit循環とキャリーなしの8bit循環があるから
そこまで言語では面倒見きれなかったってだけ
ステータスレジスタを陽に記述すると移植性なくなるが
そんなことしなくても当時のUNIXの95%を記述できたしな
そこまで言語では面倒見きれなかったってだけ
ステータスレジスタを陽に記述すると移植性なくなるが
そんなことしなくても当時のUNIXの95%を記述できたしな
573デフォルトの名無しさん (ブーイモ MM3e-J6z6)
2021/09/15(水) 15:25:36.81ID:23VOu0KJM #ifdef flagresister取得可能(ならば)
専用式
#elseif
~
専用式
#elseif
~
574デフォルトの名無しさん (ブーイモ MM3e-J6z6)
2021/09/15(水) 15:31:31.69ID:23VOu0KJM みたいな専用式を言語仕様に含めたやり方も出来たかもしれん
当時の演算能力内でwrite once,RA かつアカデミック感目指してomit しちゃったんかな
当時の演算能力内でwrite once,RA かつアカデミック感目指してomit しちゃったんかな
575デフォルトの名無しさん (ラクッペペ MM3e-K+dR)
2021/09/15(水) 16:26:01.26ID:1Mo2XUv5M Keep the language small and simple.
576デフォルトの名無しさん (テテンテンテン MM3e-h3Yj)
2021/09/15(水) 17:05:05.53ID:dV7Qc7xZM577ハノン ◆QZaw55cn4c
2021/09/15(水) 17:16:31.92 >>576
そうなんですね、なんちゃって多倍長をやっていて、ここでローテート&キャリーが使えればなぁぁぁ、とつくづく
そうなんですね、なんちゃって多倍長をやっていて、ここでローテート&キャリーが使えればなぁぁぁ、とつくづく
578はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 2a3e-wHYb)
2021/09/15(水) 17:52:22.20ID:/JHaU2Oz0 >>576-577
TL/1 はあくまでも演算子がキャリー/ボロー付き演算の命令にそのままコンパイルされるってだけなんで、
配列アクセスなどのときに勝手にアドレス計算でフラグが設定されてしまうといった意図しない影響があって
あまり使い勝手は良くない。
あまり詳しくないけど LLVM はキャリーフラグを扱う方法があって
かつレキシカルな伝播として記述できたはずなんで、
たぶん LLVM IR でならなんとか記述できるんじゃないかな。
LLVM IR を高級といえるかどうかはたいへん微妙な話だが……。
TL/1 はあくまでも演算子がキャリー/ボロー付き演算の命令にそのままコンパイルされるってだけなんで、
配列アクセスなどのときに勝手にアドレス計算でフラグが設定されてしまうといった意図しない影響があって
あまり使い勝手は良くない。
あまり詳しくないけど LLVM はキャリーフラグを扱う方法があって
かつレキシカルな伝播として記述できたはずなんで、
たぶん LLVM IR でならなんとか記述できるんじゃないかな。
LLVM IR を高級といえるかどうかはたいへん微妙な話だが……。
579デフォルトの名無しさん (アウアウウー Sa5b-hED7)
2021/09/17(金) 10:00:39.91ID:oDWWsmOUa580デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/17(金) 10:32:07.44ID:+c0nDJY5M >>578
例えばこんなを高級言語って言う?
define i32 @main(i32 %argc, i8** %argv) #0 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i8**, align 8
store i32 0, i32* %1
store i32 %argc, i32* %2, align 4
store i8** %argv, i8*** %3, align 8
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0))
ret i32 2
}
>>579
ごめん、意味分からん
単なるVTL (Very Tiny Language) の話にしか見えない
例えばこんなを高級言語って言う?
define i32 @main(i32 %argc, i8** %argv) #0 {
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i8**, align 8
store i32 0, i32* %1
store i32 %argc, i32* %2, align 4
store i8** %argv, i8*** %3, align 8
%4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([15 x i8]* @.str, i32 0, i32 0))
ret i32 2
}
>>579
ごめん、意味分からん
単なるVTL (Very Tiny Language) の話にしか見えない
581デフォルトの名無しさん (ラクッペペ MM8f-bbAV)
2021/09/17(金) 14:21:22.00ID:g2c8KLlcM >>580
rustよりは高級に見えるな
rustよりは高級に見えるな
582はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f3e-IhC7)
2021/09/17(金) 14:42:13.05ID:hv2MZm4l0 >>580
そこから様々なターゲットの機械語を生成しうるという意味では
ハードウェアにベッタリと紐付いているわけではなくて
LLVM IR を低水準言語と呼ぶのはなんか違うなって思うけど、
だからといって日常的に人間が直接書くことを前提においてるわけでもない
という点では高級とも言いにくいかな……という意味で「微妙」と評した。
そこから様々なターゲットの機械語を生成しうるという意味では
ハードウェアにベッタリと紐付いているわけではなくて
LLVM IR を低水準言語と呼ぶのはなんか違うなって思うけど、
だからといって日常的に人間が直接書くことを前提においてるわけでもない
という点では高級とも言いにくいかな……という意味で「微妙」と評した。
583デフォルトの名無しさん (ワッチョイ 171d-QiSa)
2021/09/17(金) 16:26:05.73ID:J/w/zJeW0 シリコンバレーで働いて気付いた「技術力向上」だけに固執するエンジニアのダメさ【Sansan CTO 藤倉成太】
https://type.jp/et/feature/9402/
DeNA×メルカリ×サイバーエージェント人事担当が面接で必ずする質問とは?「技術力だけアピールしても内定は出ない」
https://type.jp/et/feature/10236/
DeNA・メルカリ・CA人事が証言! スキルはあるのに“面接で落ちる”エンジニアに足りないもの
https://type.jp/et/feature/10402/
https://type.jp/et/feature/9402/
DeNA×メルカリ×サイバーエージェント人事担当が面接で必ずする質問とは?「技術力だけアピールしても内定は出ない」
https://type.jp/et/feature/10236/
DeNA・メルカリ・CA人事が証言! スキルはあるのに“面接で落ちる”エンジニアに足りないもの
https://type.jp/et/feature/10402/
584デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/17(金) 20:48:41.30ID:M17TGSOPM585はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f3e-IhC7)
2021/09/17(金) 20:59:27.14ID:hv2MZm4l0 >>584
JVM のバイトコードは言語ではないと思うから高級言語とは言わないけど、低水準でもないでしょ。
JVM のバイトコードは言語ではないと思うから高級言語とは言わないけど、低水準でもないでしょ。
586デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/17(金) 21:50:22.49ID:/PAMmlQoM 低水準の話はしてないから
> 高級言語とは言わない
でFAやね
> 高級言語とは言わない
でFAやね
587はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 9f3e-IhC7)
2021/09/17(金) 22:00:48.37ID:hv2MZm4l0 そうか。
588デフォルトの名無しさん (ワッチョイ 1763-qDHA)
2021/09/17(金) 22:31:46.08ID:C7S/bCm80 C言語だってコンパイルすればバイナリ
589デフォルトの名無しさん (ワッチョイ 9fad-qDHA)
2021/09/18(土) 04:33:04.80ID:iNoegsL20 倍也
590デフォルトの名無しさん (エムゾネ FFbf-hED7)
2021/09/18(土) 08:52:55.38ID:bA/qQPAiF バイトコードをいい加減に扱い過ぎ
591デフォルトの名無しさん (ワッチョイ 1745-I/Yj)
2021/09/18(土) 09:19:07.92ID:1ehO0L4U0 >>580
特定CPUのアーキテクチャに言及してないな
特定CPUのアーキテクチャに言及してないな
592デフォルトの名無しさん (ワッチョイ b7bb-qDHA)
2021/09/18(土) 18:56:12.62ID:RjbxwxKL0 宣言と定義についてなんですが
int a; // 宣言
int b = 1; // 定義
宣言と定義ではどちらもメモリ(スタック)は確保されているという理解であってますか?
int a; // 宣言
int b = 1; // 定義
宣言と定義ではどちらもメモリ(スタック)は確保されているという理解であってますか?
593デフォルトの名無しさん (ワッチョイ 1763-qDHA)
2021/09/18(土) 19:10:22.14ID:bsPUoCV00 はい
594デフォルトの名無しさん (ワッチョイ 1fbd-SDcz)
2021/09/18(土) 19:28:32.87ID:I+biH5jK0 はいじゃないが
595デフォルトの名無しさん (ワッチョイ bfe9-IhC7)
2021/09/18(土) 19:42:16.97ID:jTQBMDyZ0596デフォルトの名無しさん (ワッチョイ ff61-IhC7)
2021/09/18(土) 19:43:03.59ID:XFa1Ksn/0 コンパイラと最適化オプション次第
597デフォルトの名無しさん (ワッチョイ b7bb-qDHA)
2021/09/18(土) 19:48:26.79ID:RjbxwxKL0 >>595
定義は宣言の下位概念ってことですか?
定義は宣言の下位概念ってことですか?
598ハノン ◆QZaw55cn4c (ワッチョイ 9f47-o3tO)
2021/09/18(土) 19:55:00.96ID:/DXMasS60 >>592
いいえ
定義では格納場所を確保しますが、宣言では存在のみ指示しても格納場所は確保されません、私は気が向けば宣言には extern をつけるようにしないわけではない、という感じかな
なおその例は少し変で、代入を伴えば定義というわけでも、代入がなければ宣言というわけでもない、というのが個人的感覚です、詳しい人の解説を希望します
例外は、リンカが頑張って格納場所を作ってくれる例の何とかとかいうキーワードがあったのですがおもいだせません、今日モデルナを射った後転んで頭を打ってしまった、結果、いっそう馬鹿になってしまいました‥‥
いいえ
定義では格納場所を確保しますが、宣言では存在のみ指示しても格納場所は確保されません、私は気が向けば宣言には extern をつけるようにしないわけではない、という感じかな
なおその例は少し変で、代入を伴えば定義というわけでも、代入がなければ宣言というわけでもない、というのが個人的感覚です、詳しい人の解説を希望します
例外は、リンカが頑張って格納場所を作ってくれる例の何とかとかいうキーワードがあったのですがおもいだせません、今日モデルナを射った後転んで頭を打ってしまった、結果、いっそう馬鹿になってしまいました‥‥
599ハノン ◆QZaw55cn4c (ワッチョイ 9f47-o3tO)
2021/09/18(土) 20:04:32.98ID:/DXMasS60 >>592
宣言か定義か、という問題は、単一モジュールでプログラムを構成している段階ではあまり気にしなくてもいいと思います
複数の c ソースを分割コンパイルし、最後に得られたオブジェクトをライブラリともあわせて結合する、という作法に進めば自然に理解できるようになりますのでご心配なさらなくともいいでしょう
私も昔は「extern は要らない子!」とか馬鹿をいっていましたが、これは撤回します、extern がどうしても必要な場面に遭遇したのです
まあそういうわけで一度にいっぺんに賢くなるのは私には難しいことのようです
宣言か定義か、という問題は、単一モジュールでプログラムを構成している段階ではあまり気にしなくてもいいと思います
複数の c ソースを分割コンパイルし、最後に得られたオブジェクトをライブラリともあわせて結合する、という作法に進めば自然に理解できるようになりますのでご心配なさらなくともいいでしょう
私も昔は「extern は要らない子!」とか馬鹿をいっていましたが、これは撤回します、extern がどうしても必要な場面に遭遇したのです
まあそういうわけで一度にいっぺんに賢くなるのは私には難しいことのようです
600デフォルトの名無しさん (ワッチョイ b7bb-qDHA)
2021/09/18(土) 20:41:39.21ID:RjbxwxKL0 >>598
たとえば
int a;
printf("%d\n", a);
なんですが、この場合のaは定義されているということですか?
代入式があるのが定義だと思ってました
宣言と定義の文脈はコードによって変わるということなんですかね
たとえば
int a;
printf("%d\n", a);
なんですが、この場合のaは定義されているということですか?
代入式があるのが定義だと思ってました
宣言と定義の文脈はコードによって変わるということなんですかね
601デフォルトの名無しさん (テテンテンテン MM8f-vJdV)
2021/09/18(土) 21:25:06.90ID:JTl7f6jwM 簡単に言えば宣言はその名前をコンパイラに伝えるもの
定義はその実体を確保するためのもの
>>592の例は両方共に宣言であり定義でもある
C言語では定義のみすると言うのはできないと思う
宣言のみはexternとか前方参照のためのstruct xxx;とかで使われる
定義はその実体を確保するためのもの
>>592の例は両方共に宣言であり定義でもある
C言語では定義のみすると言うのはできないと思う
宣言のみはexternとか前方参照のためのstruct xxx;とかで使われる
602デフォルトの名無しさん (ワッチョイ 97da-jOHa)
2021/09/18(土) 21:44:48.00ID:YluaRA/40 >>596
屁理屈こねんなやボケが
屁理屈こねんなやボケが
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
