C言語なら俺に聞け 142 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 8a6f-bDrV)
垢版 |
2017/08/10(木) 20:21:23.44ID:hEocmkh50
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/


http://mevius.2ch.net/test/read.cgi/tech/1500293207/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/08/17(木) 09:31:58.57ID:3IL/r6zdM
>>42
半角の¥は廃止すべき
2017/08/17(木) 10:45:25.58ID:ugZ0fkzt0
>>45
MJD?
48デフォルトの名無しさん (ワッチョイ 110d-JJVS)
垢版 |
2017/08/17(木) 10:55:11.53ID:NamoDwZf0
>>47
最近のコンパイラはデフォでトライグラフを抑制してくれてるようだけど
古いコンパイラは、そんな気がきいてないから

警告文 "warning??!" ってやって実際の出力が warning| で なんじゃこりゃ?と
2017/08/17(木) 10:59:46.51ID:NamoDwZf0
それでも ??/ → \ で
次の文字をエスケープして大事故にというのは無かったかな
2017/08/17(木) 11:00:52.21ID:OslnP8rdM
>>47
>>45じゃないけど "不正な値です: ??(10)" ってやったら "不正な値です: [10)" ってなって
はあ?ってなったことあるわ
2017/08/17(木) 12:36:35.61ID:kQ6hfaFr0
CとC++は馬鹿には使えない
惨事が起きるから
使わせてはいけないと聞いた
2017/08/17(木) 13:57:01.69ID:ylZytAyh0
いくつかのコンパイラはトライグラフがデフォルトで無効になっていたと思う
2017/08/17(木) 16:57:48.81ID:ZvDESEOS0
clとclangとgccはデフォルトで無効だし、今じゃ有効な環境のほうが珍しいんじゃないの
54デフォルトの名無しさん (エーイモ SEf3-Ufa9)
垢版 |
2017/08/17(木) 21:30:33.60ID:2RZZpZadE
char s[3] = "abc";
printf("%s %lu", s, strlen(s));

これの出力がabc 3にならず
abc 9abc 9とか
abcea 9abcea 9みたいに毎回不定で文字列が出力されるんですけど何でですか?
2017/08/17(木) 21:37:39.45ID:XnqHf7Mqd
>>54
ヌル文字が足りない。
改行がない。
2017/08/17(木) 21:39:34.19ID:XnqHf7Mqd
s[4]か、サイズ未指定のs[]にする。
\nを追加する。
2017/08/17(木) 21:40:55.02ID:XnqHf7Mqd
strlenの返却値はsize_tだから、%luは間違い。
2017/08/17(木) 23:15:30.23ID:zzoRHhsR0
>>57
正解は?
2017/08/17(木) 23:27:33.59ID:XnqHf7Mqd
>>58
http://qiita.com/7of9/items/ca5ebf9b7861acbcf656
%zuのようだな。
2017/08/17(木) 23:35:38.09ID:zzoRHhsR0
組み込みのショボいライブラリじゃ使えなかったりするから
unsigned intにキャストして%u
でいいや
61デフォルトの名無しさん (ブーイモ MMc5-gUFl)
垢版 |
2017/08/18(金) 03:59:52.12ID:URLOh4DLM
キャスト毛嫌いしてたんだけど、size_t や int*_t シリーズを printf 書式で使う時のベストプラクティスだと気付いてしまったよ。
2017/08/18(金) 04:18:35.01ID:sjvn+N2bd
サイズの変わる型キャストは、(通常無視できる程度の)少しだけコストがかかることに言及しておこう。
2017/08/18(金) 04:20:02.39ID:sjvn+N2bd
わずかに時間と計算量がかかるという意味のコストね。
2017/08/18(金) 07:04:19.91ID:R7MrN97k0
printf使ってるときなら、無視できるレベルだな
2017/08/18(金) 07:10:44.43ID:RGoxPD09M
大抵の場合、暗黙でintに変換されるので%dで問題ない
2017/08/18(金) 07:50:44.76ID:cQGhZEXD0
>>63
64ビットで渡すより32ビットで渡す方が普通は速い
2017/08/18(金) 07:51:44.71ID:cQGhZEXD0
>>65
intより大きいサイズはintに変換されない
68デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 09:48:31.67ID:+zi/zXZ30
>>65
問題大ありだよ
64bit 環境では、sizeof sizeof 1 == 8 だぞ
69デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 10:03:06.56ID:+zi/zXZ30
脇道に逸れるが整数のサイズってどいつもこいつもイマイチだね
char 8
short 16
int 32
long 64
long long 128
と、せっかく5階級あるのを無駄なく使えるようになってない
2017/08/18(金) 11:07:14.63ID:cQGhZEXD0
どこの環境だよ
71デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 11:55:29.20ID:+zi/zXZ30
いや、そういう環境があったらなあと
2017/08/18(金) 12:41:24.28ID:8ZqVNhGud
そんなに細かく分ける意味あんのかね。
64bitだけでいいだろ。
73デフォルトの名無しさん (ワッチョイ 4b6c-oL0b)
垢版 |
2017/08/18(金) 12:46:10.63ID:K+PXWISB0
Makefileの書き方なんだけど

makeが実行されているときに 今何を実行してるか表示されるけど
「なんでこれが実行されているんか」の理由も表示したい
依存関係の hoge: fuga を表示したい


.c.o:
@echo $@:$^
$(CC) $(CFLAGS) -c $<
みたいに書いたりしてんだけど、全部に書くのもダサい気がするし
良い方法はないでしょうか
74デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 15:25:50.71ID:+zi/zXZ30
>>72
128が標準にあれば使い途いろいろあるぞ
2017/08/18(金) 15:40:25.23ID:RRX5RBja0
>>73
GNU make なら -d (デバグ表示)とかは?

ただ「なぜこれが実行される」って、ファイルの更新日時ぐらいしか
ないと思うけど
2017/08/18(金) 16:57:07.47ID:UodSk1FQ0
>>75
このコマンドを実行したのは○○より△△が古いから
って言うのを知りたいんでしょ
$^ の意味も知らないならROMってなよ

>>73
make コマンド自体に手を入れた方が早いかも
2017/08/18(金) 18:57:47.45ID:aoGOUUu+0
C関係ないんだから、別スレでやれよ
2017/08/18(金) 20:41:27.26ID:2qfgYUHL0
すみません初歩的なことですが・・
前置インクリメントa++
後置インクリメント++a
がありますが、a=a+1は後置になりますよね?
2017/08/18(金) 20:44:00.68ID:m74Y+4jlM
b=a++ と b= a= a+1 は違う気がする。
2017/08/18(金) 20:47:26.76ID:sjvn+N2bd
どちらでもない。
2017/08/18(金) 20:49:13.42ID:5LpMFucB0
加算と代入
2017/08/18(金) 20:51:16.52ID:2qfgYUHL0
回答有難うございます
実験してみたのですが、a=a+1は前置(a++)にも後置(++a)にもなるのですね
http://i.imgur.com/teLsUGY.jpg
83デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/18(金) 23:11:42.85ID:+zi/zXZ30
違う! 前置だ
b = (a = a + 1);
2017/08/18(金) 23:21:22.94ID:5LpMFucB0
a[i++] = i; は悪魔召還だけど
インクリメント演算子なしのこれ
 a[i =i+1] = i;
も鼻から悪魔になるのかな
2017/08/18(金) 23:57:54.41ID:nSj4GkNd0
>>78
>前置インクリメントa++
>後置インクリメント++a

考え方が逆
変数を基準に考えるのではなく演算子を基準に考える
前置インクリメント++a : 演算子を’前’置した場合、変数(式)の評価’前’に演算子が適用される
後置インクリメントa++ : 演算子を’後’置した場合、変数(式)の評価’後’に演算子が適用される
2017/08/19(土) 00:03:09.07ID:0xgPi4RO0
>>84
なるでしょ
iの変更と最後のiの評価の間に順序性がない事に変わりはない
87デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/19(土) 09:44:47.22ID:CpINIl4e0
i = i + 1;
の、iの変更と最後のiの評価の間の順序性は?
88C言語ますたー《ますたー軍団(常時募集)の長》 ◆oa6k//3vOQ (ラクッペ MMed-UZV0)
垢版 |
2017/08/19(土) 09:54:20.36ID:6ANTyB1VM
>>87
i+1のiは変更前のiでしょ
2017/08/19(土) 10:03:42.32ID:cD3Bg7W9d
>>30
デバッグしないのか?
2017/08/19(土) 10:37:04.42ID:opyN89fo0
デバッガはデバッガで起動すればいいし、printf があるし。
2017/08/19(土) 11:26:43.49ID:0xgPi4RO0
>>87
6.5.16 Assignment operators
「The side effect of updating the stored value of the left operand is sequenced after the value computations of the left and right operands. The evaluations of the operands are unsequenced.」
左オペランドの変更は、左右オペランドの評価の後
2017/08/19(土) 12:19:31.20ID:9KU7ntuJ0
>>84
MISRA-C で、禁止されている

a[式]
この式に、副作用があったら、ダメ。
バグるから
93デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/19(土) 15:28:05.17ID:CpINIl4e0
>>91
thx
だよな、そこは断り書きが必要な箇所
2017/08/19(土) 23:53:05.68ID:HeBiuDVT0
>>92
バグが入りやすい書き方ってだけでバグるわけじゃない
2017/08/20(日) 00:16:58.16ID:856Qy56L0
a[i++]= b; は問題ないしな。
96デフォルトの名無しさん (ワッチョイ 6123-WxsM)
垢版 |
2017/08/20(日) 03:47:32.99ID:+c5k6kJk0
右辺の結果を出してから左辺の計算やってるようだな。
https://paiza.io/projects/G_durt7YVnR55npMvUcKwg
2017/08/20(日) 06:41:37.88ID:6XW1JaY/0
http://i.imgur.com/BmPLoWb.png
98デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/20(日) 09:25:38.38ID:sGdhnhOm0
事実上どうなっているという話ではなく
理屈の上でどうなのかという話
ちゃんと断り書きがあったからめでたしだが
そうでなかったら大変だった
2017/08/20(日) 09:58:54.27ID:SbUj3AhWM
>>76
ありがとう
ちょっとmake読んでくる
2017/08/22(火) 11:22:32.57ID:chgkyZKA0
defineした定数を文字列定数にいれるにはどうしたらいいの?

#define EOL 0x0d

const char version_message[] = "Version 1.0\x0d"

↑この文字列の改行コードに定数EOLを展開した値を入れたいです。
2017/08/22(火) 11:44:36.20ID:xXPB4eWM0
>>100
https://ideone.com/LeNUGK
102デフォルトの名無しさん (エーイモ SEf3-Ufa9)
垢版 |
2017/08/22(火) 11:47:40.32ID:przmPyd7E
typedef struct hoge {
int a;
int b;
} hoge;

hoge h = {1, 2};

構造体に含まれるメンバ名と値を全て出力する方法を教えてください
上の構造体なら
a,1
b,2
と出力したいです
2017/08/22(火) 11:59:42.09ID:GCxyf0Da0
>>100
小さな部品を繋いで大きなものを得るのはとても簡単にできるけど
部分を削って小さな部品を得るのはとても大変なのよ
だから本来は改行文字は機能的にレイアウトなのでデータとは分離しておいて
表示なりなんなりするときに結合して使うのが望ましいもちろんVersionと数字もね

その上で既存コードのメンテ等でどうしても必要なら>>101がベスト
2017/08/22(火) 12:08:53.86ID:R9ds2cCvH
>>100
#define EOLSTR "\x0d"
const char version_message[] = "Version 1.0" EOLSTR;
2017/08/22(火) 12:11:18.37ID:xXPB4eWM0
>>104
それは迷ったんだよねー
次点でその文字列をマクロで作ることも考えたけどあかんかったw
2017/08/22(火) 12:14:35.93ID:GCxyf0Da0
>>102
変数名はあくまで人間が扱いやすいように何らかの領域(一般的にメモリアドレス)に付けるあだ名であって
プログラム(コンピュータ)的にはメモリアドレスのほうが扱いやすいのであだ名は不要(アドレスのほうはプログラム的に出せる)
なのであだ名のほうが欲しいなら以下のように直書きするしかない
printf("%s,%d\n", "a", h.a);
107デフォルトの名無しさん (エーイモ SEf3-Ufa9)
垢版 |
2017/08/22(火) 12:52:42.46ID:przmPyd7E
>>106
そうなんですか・・・
全部直書きするのキツイのであだ名がなくてもかまわないのでこの場合の方法ないでしょうか?
2017/08/22(火) 13:00:37.52ID:u9fcDp43H
デバッグ目的ならデバッガで
2017/08/22(火) 13:20:20.96ID:chgkyZKA0
>>101,104、ありがとうございます、

PCとUSBシリアルで通信する組み込み機器のドライバをメンテしていて
受信したテキストの終端検出にEOLはキャラクタで扱っているし
送信する固定テキストは改行含めてリテラルにしたく
プリプロセッサの#か##で連結でなんとかできないか悩んでました。
2017/08/22(火) 13:21:07.96ID:bF0tRsYk0
コンパイルしたらメンバー名と型の情報は消える
111C言語ますたー《ますたー軍団(常時募集)の長》 ◆Cmaster.sY (ラクッペ MMed-UZV0)
垢版 |
2017/08/22(火) 15:44:32.04ID:tfXVsICTM
メモリアドレスを出力させればいいんじゃない?
%pで&aを表示できるはず
2017/08/22(火) 16:43:27.00ID:xXPB4eWM0
与えられた変数から、メンバ名とその値を再帰的に列挙して欲しいんだろうけど
そんな都合の良い言語じゃないから自分で並べるしかない

必要に応じて毎回並べるか
並べて出力したものを関数化しといてそれを呼び出すか
113デフォルトの名無しさん (ワッチョイ ab1c-Pf/K)
垢版 |
2017/08/22(火) 17:44:12.68ID:NIldwpVs0
再帰的に列挙は自動だととんでもない情報量になったりするからな
そこから欲しい情報をどうやって抜き出すかが頭の使いどころ
2017/08/22(火) 22:53:39.27ID:YwU2BQ/U0
>>100

#include <stdio.h>

#define EOL x0a
#define _STRING(s) # s
#define STRING(s) _STRING(s)
#define _VALUE(s) 0 ## s
#define VALUE(s) _VALUE(s)

char a[] = "Hello" STRING(\EOL);

void main(void) {
int n;

n = VALUE(EOL);
printf("%02x [%s] \n", n, a);
}
115デフォルトの名無しさん (ワッチョイ 6123-oL0b)
垢版 |
2017/08/22(火) 22:53:45.07ID:hpqXPKX70
>>107
マクロでちょっと簡略化することはできる。ちょっとだけな。
https://paiza.io/projects/dRqn0XFnjDUUmr5_5AzF2A
2017/08/22(火) 22:56:32.37ID:hpqXPKX70
あ。もうちょっとできたので今修正した。
2017/08/22(火) 23:26:16.15ID:bF0tRsYk0
>>115
これってさ、メンバ名をconst char*にするんだよね?
2017/08/22(火) 23:41:21.22ID:D8nSL4rC0
>>115でいいと思うけど、
そもそもこれがしたい場合にC言語を使うのが間違いでしょ。
動的言語かリクレクションがある言語を使えばいいだけ。

ちなみにVC++/CLIでよければリフレクションが使えるけどね。
質問者には無理だろうけど。
レベルからいって>>108が当たりだろうね。
2017/08/23(水) 00:06:55.83ID:b0JJUPNx0
>>117
#x の所? そうじゃないかな。gcc -E とかやって見てみるとわかると思うが、 h.a は単純に "h.a" になっている。

>>118
C使わなきゃいいってのはその通りだが、それを言っちゃあお終いよ。
2017/08/23(水) 00:14:59.00ID:PJzK0CC4M
構造体のメンバ名がほしいとかデバッグ以外に何があるの
2017/08/23(水) 00:22:23.00ID:CuDbJhab0
>>120
有名どころはGUIのバインディング。
例えばWPFは自動的にリクレクションを使ってこれをやってくれる。詳細は以下参照。
http://www.atmarkit.co.jp/ait/articles/1010/08/news123.html

ただ、Cのアプリでこれは要らんし、今時生CでGUIもないよな?
2017/08/23(水) 06:05:17.73ID:x0fRL5lg0
テキストベースで構造体の値のファイルへの保存と読み込みをしたいのかな
123デフォルトの名無しさん (ワッチョイ 09e4-xjvb)
垢版 |
2017/08/25(金) 05:26:20.30ID:vC6ff47f0
マクロでどうにかできるかとも考えたが壊れる対処のし様がない

#define pr(a,b) printf(pr_##a(b))
#define pr_test_t(b) "#b{i:%d,s:%s}", (b).i, (b).s
typedef strct{int i; char *s;}test_t;

pr((test_t){.i=999; .s="abc"});
2017/08/25(金) 05:30:42.91ID:hNG5yKqv0
Cはウンコ言語なのでリフレクションはありませんの一言で終わる質問
2017/08/25(金) 08:26:26.12ID:degYWVoy0
C言語はもう 気ままにリフレクション
2017/08/25(金) 08:28:37.56ID:+VfvF6y6d
>>124
うんこじゃない言語もコンパイラはうんこ言語(お前に言わせるとC言語)でつくられてるけどな
2017/08/25(金) 08:31:15.05ID:mWX/padLd
本当にうんこならとっくの昔に消えてるよ
128デフォルトの名無しさん (ワッチョイ c61c-9BKz)
垢版 |
2017/08/25(金) 15:42:32.73ID:RGmsOxnq0
Cはうんことかほざくやつ
まさかLinuxなんか使ってねえだろな
2017/08/25(金) 17:02:40.42ID:mWX/padLd
linuxはうんこ
2017/08/25(金) 17:44:02.80ID:GY4pXB3S0
Cがウンコとか言ってる奴に限ってRubyでしか書けないとかいうオチだったら笑えるんだけどな
2017/08/25(金) 21:36:12.81ID:BZOsNf+t0
高級アセンブラ最高じゃん
2017/08/25(金) 22:36:16.04ID:+VfvF6y6d
>>131
ほんそれ
2017/08/25(金) 22:45:39.22ID:IHFV3+gX0
むしろ Ruby で自由にコードを書ける人を尊敬する今日この頃。
最近やってるんだけど、どうしても馴染めない。普通には組めるけど、違和感が残るというか抵抗があるというか。
2017/08/26(土) 00:06:54.39ID:F7j6CSPU0
リフレクションを使う気がなければリフレクション自体がウンコだよ。
・ソースコードがだだ漏れ
・実行体が無駄に膨らむ(ソースコード情報を含むため)
・リクレクションが必要な用途なら、動的言語でついでに型無しの方が断然楽

GUIとかね。
ウンコと言われ続けたJavaScriptを誰も殺せず、
ついにはElectronとか言い出してデスクトップ側にも進出してきてるだろ。
やれば分かるがGUIに関しては動的型無しHTML(=JavaScript)は最強。

C言語はC言語が目指した範囲での仕様は美しいよ。
ただそこには今後ともリクレクションは必要ないね。
唯一引っかかるのは>>122か。

>>133
どの辺が?
俺はRuby使いではないが、それよりも酷いとされるJavaScriptには馴染んでしまったから、
ある程度は答えられるかも。
135デフォルトの名無しさん (ワッチョイ 09e4-xjvb)
垢版 |
2017/08/26(土) 00:48:52.34ID:acOQPPj10
lua等の組込み言語とやり取りする container生成用補助構文群が有ってもいい
関数では前方宣言とか scopeが邪魔して対処しきれないだろうから
うまくすれば文字列操作表示も標準libraryから追い出せる
136デフォルトの名無しさん (ワッチョイ 09e4-xjvb)
垢版 |
2017/08/26(土) 00:52:27.30ID:acOQPPj10
pr(test_t, (test_t){.i=999; .s="abc";});
2017/08/26(土) 14:20:33.57ID:rkE5GYva0
>>134
javaでアノテーションいじり始めるとリフレクションまじ便利で欲しくなるけど、c系にはなくてもいいかなというのも思う。

テバグ目的ならgdbでいいしな。
2017/08/29(火) 00:26:03.40ID:+Y8D6iZy0
>>134
規模が大きい場合は型があって静的に検査できるほうが便利だねというのが世間の流れだと思うが
TypeScriptとかFlowとか
速度を稼ぐ目的でwasmも今後主流になっていくだろう

巨大ストレージ、OSSが主流な時代にメタデータのサイズやソース隠蔽は気にしなくなったし
2017/08/29(火) 02:58:14.41ID:Uz0lh6nE0
>>138
> 規模が大きい場合は型があって静的に検査できるほうが便利だねというのが世間の流れだと思うが
違うね。今の流れは「選べる」だ。つまり、
・型無し言語に型情報を付加し、恩恵を受ける---TypeScript
・型あり言語に型推論やジェネリックを追加し、型情報を記述する煩わしさを回避---C#/C++/Java
どっちも出来ることはほぼ同じ。ほぼ全ての言語がここを目指してるでしょ。(Cを除く)
要するにいいとこ取りを目指しているわけで、自然な流れだ。
型があった方が助かるのなら書け、煩わしいだけなら書かなくて済む、という方向に進化しつつある。
なお、GUIに関しては型無しでも大して苦労しない。バグっているかどうかは見れば分かるから。

> 速度を稼ぐ目的でwasmも今後主流になっていくだろう
ならんと思うし、C使いにとってはなったとしてもああそうですか、でしかないと思うが。

> 巨大ストレージ、OSSが主流な時代にメタデータのサイズやソース隠蔽は気にしなくなったし
OSSについては歪んでいて、本来は選べるべきだよ。
JavaScriptのようにソース曝露必須というのは問題ではある。

富豪どころか大富豪プログラミングを自由に出来る時代ではあるが、
何だかんだで速度=バッテリの持ち/快適さなので、実際は、「気にしなくていい環境も増えた」だよ。
とはいえCレベルでのチューニングが必要なこともそうないが。
2017/08/29(火) 07:49:01.20ID:pPJ906sN0
>・型無し言語に型情報を付加し、恩恵を受ける---TypeScript
>・型あり言語に型推論やジェネリックを追加し、型情報を記述する煩わしさを回避---C#/C++/Java

後者は型を明示的に書かなくてもいというだけで最初からすべて型検査してるぞ。
型検査について言えば、動的型付け言語に静的な型検査を導入する流れはあるが逆はない。
2017/08/29(火) 08:29:00.57ID:E7mhir0G0
動かす前にバグが見つかる仕掛けがちゃんとあるなら
動的型付けでも構わんよ
2017/08/29(火) 14:42:19.23ID:/UmWkn6m0
無理ゲーっぽくね?
2017/08/29(火) 14:47:49.09ID:/UmWkn6m0
んなことはないみたいだぬ
2017/08/29(火) 18:55:09.32ID:qEt/+AkhM
100%は無理
そこそこなら行ける
2017/08/29(火) 20:04:11.09ID://zGX0GI0
option explicit +中間言語コンパイル,なら使えそうだ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況