トップページ⇒tech
119コメント27KB

C1x

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/02/02(水) 19:31:07
次期C標準 "C1x" のスレです。

C working group公式サイト:
http://www.open-std.org/jtc1/sc22/wg14/

最新ドラフト:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1539.pdf

主な変更点(英語):
http://en.wikipedia.org/wiki/C1X

姉妹スレ
C++0x 11:
http://hibari.2ch.net/test/read.cgi/tech/1285884294/
0002デフォルトの名無しさん2011/02/02(水) 19:53:25
VCがC99すら実装する気ないもんなあ・・・

C99から何が追加されてんの?
0003デフォルトの名無しさん2011/02/02(水) 19:58:53
#define cbrt(X) _Generic((X), long double: cbrtl, \
       default: cbrt, \
       float: cbrtf)(X)

総称マクロか。
0004デフォルトの名無しさん2011/02/02(水) 20:03:11
もうマングリング規則を規格で決めてオーバーロード導入しろよってレベルだな・・・
0005デフォルトの名無しさん2011/02/02(水) 20:04:13
Unicodeサポートは嬉しい
0006デフォルトの名無しさん2011/02/02(水) 20:05:45
最終的には Embedded C++ になります
0007デフォルトの名無しさん2011/02/02(水) 20:09:42
VCは「うちはC++コンパイラなのでC++の拡張には対応しますが
Cの変更には追随しません(キリッ」ってスタンスなのかなあ
0008デフォルトの名無しさん2011/02/02(水) 20:10:53
新しい規格出るのか
C99がMSにそこそこ放置されてるのを見てると
新規格を横目に198xがメインで使われてるCOBOLみたいな哀愁を感じる
0009デフォルトの名無しさん2011/02/02(水) 21:19:00
マルチスレッド対応とアトミックがわりと大規模な追加かな
0010デフォルトの名無しさん2011/02/02(水) 22:25:51
マルチスレッド対応するなら
パス操作関連充実させてください
0011デフォルトの名無しさん2011/02/03(木) 01:36:34

void foo(int n)
{
 char str[n];
 /*...*/
}

こんなの使いたくないし教えたくないし「C」だと認めたくない
C99が流行らないのはMSのせいだけじゃないと思う
0012デフォルトの名無しさん2011/02/03(木) 07:25:07
>>11 だと何か論理的に破綻することでもあるのか?

それとも、宗教や「単なる気分」の問題?
0013デフォルトの名無しさん2011/02/03(木) 07:51:17
スタックの消費量が確定できない

というのが問題になる分野なんてごくわずかだと思うが
0014デフォルトの名無しさん2011/02/03(木) 08:31:24
nが負値だったとき、呼出し側が悪い
size_t使えよ、stddef.hインクルド面倒
alloca()使えばいいし、標準じゃなかった
0015デフォルトの名無しさん2011/02/03(木) 12:35:53
スタックに実領域を保存しなければいけない。という規格上の制約なんて無いだろ > 13
0016デフォルトの名無しさん2011/02/03(木) 13:27:59
これ以上C++との互換性を無くしてどうするんだろう。
Cとしての機能しか使っていなくてもコンパイラはC++って事が殆どだと思うんだが。

_Genericとかどう見てもタチの悪いtemplate。
マクロとして働くならXを(X)ってしたり色々気をつけて書かないと危険だし
改行前にバックスラッシュ書かないといけないし、標準規格で頭に「_」入れさせるとか。

ということで>>6が正解。
0017デフォルトの名無しさん2011/02/03(木) 13:46:43
_GenericはC99で先に入れてしまったtgmath.hを実装するための後付け設定だと思ってる
使う人はいないんじゃないかなぁ
0018デフォルトの名無しさん2011/02/03(木) 14:08:46
別にC++との互換性なんていらんだろ。
どうせC++なんてクソなんだし。
VCがC99に対応してない?gccかiccでいいだろ。
0019デフォルトの名無しさん2011/02/03(木) 15:09:57
否定しかしない奴の主張は大抵的を外れている
0020デフォルトの名無しさん2011/02/03(木) 19:23:35
もともとC++なんてCの人気とコード資産にタダ乗りしただけの
C互換であること意外何の取り柄も無いクソ言語だから、
C++使いがCとの非互換を嫌うのは判るがね。
Cの側からすれば、C++との互換性なんてどうでも良いんだよ。
0021デフォルトの名無しさん2011/02/03(木) 19:54:07
一体何と戦っているんだろう
0022デフォルトの名無しさん2011/02/03(木) 21:41:29
文字エンコードなんてストリーム関数とひっくるめOS依存部分の別言語にして外に出しちゃえばいいのに
0023デフォルトの名無しさん2011/02/04(金) 00:57:52
その辺は入れる価値があるからじゃなくて
入れても問題ないから入れるって感じだな。
0024デフォルトの名無しさん2011/02/05(土) 20:30:35
>>7-8
http://blogs.msdn.com/b/somasegar/archive/2008/11/21/c-enhancements-in-vs-2010.aspx
ここの米欄には、欲しいって意見が少ないからやらないんだ、というふうなことが書いてある。
0025デフォルトの名無しさん2011/02/05(土) 21:59:54
そこにも書いてあるけど、stdint.hや%zdは早めに入れてほしかった。
あとsnprintfあたり。
0026デフォルトの名無しさん2011/02/06(日) 00:59:24
>>24
そんなのは口実で、その気になれば簡単に対応できるのに
あえてやらないんだろうね。
もうCなんて使ってほしくないんだろう。
C++と違って、Cは囲い込むのが難しいからな。
0027デフォルトの名無しさん2011/02/06(日) 01:10:37
スレッドが標準化されるのは素晴らしいな
俺も C++ との互換性はどうでも良いわ
0028デフォルトの名無しさん2011/02/06(日) 16:39:54
おまえらVCの話ばっかりだな。
結局世の中ではVC使ってる奴が多いってことなんだろうな。
C1Xはgcc 4.6ですでに実装され始めてるし一部使えるぞ。

MSはC1Xに積極的に参加してる。
なんてったってC1Xには「機能の選択(実装)」という機能がある。
合法的に特定の機能を実装しなくてもよくなるからな。
0029デフォルトの名無しさん2011/02/06(日) 16:59:15
Windows を使う事は一生無いだろうし、俺は GCC, LLVM, Open64 辺りが対応してれば良いや
0030デフォルトの名無しさん2011/02/08(火) 13:19:50
>>29
×LLVM ○Clang だろ?
0031デフォルトの名無しさん2011/02/11(金) 15:53:57
_Boolとか_Atomicとかアホかと
0032デフォルトの名無しさん2011/02/11(金) 19:03:10
嫌なら使わなきゃいい機能の代表だろそれ。
アホはお前だ。
0033デフォルトの名無しさん2011/02/11(金) 19:46:18
そういうのを言語機能として盛り込む「根本の考え方」がアホといっているのではないか

いや知らんが
0034デフォルトの名無しさん2011/02/11(金) 20:11:55
プリプロセッサを再起的な定義に対応させてくれよ。Lisp系の言語から戻ると、プリプロセッサが弱いのがすごく不便に感じる。
まあ、普段の仕事のプログラムは、こっそりとschemeからCにトランスレートしてるわけだが。
0035デフォルトの名無しさん2011/02/11(金) 20:31:10
マルチスレッド対応を言語機能に盛り込むのはアリだと思うが。
0036デフォルトの名無しさん2011/02/11(金) 20:39:12
マルチスレッド対応を言語機能に盛り込むのはアリだと思うが。
0037デフォルトの名無しさん2011/02/11(金) 22:50:17
マルチスレッドはいらないんじゃないか?
マルチスレッドの仕組みを作るための言語であって、仕組みとして必須でない。

しかし、スレッドよりもプリミティブな、継続のダンプとロードとかを入れて欲しいな。
0038デフォルトの名無しさん2011/02/12(土) 00:43:10
>>37
継続がスレッドよりプリミティブだって、それはどうしてかな?

継続を使えば複数のコンテキストを切り替えてスレッドの真似事を実装する事は出来るけど、
複数の処理を同時に走らせる様なネイティブスレッドの機能を実現出来る訳じゃない。
逆にネイティブスレッド(と多少のハードウェア依存の処理)があれば継続の様に、
コンテキストを保存して後で使い回す様な機能を実装する事は出来るよね。

それなら C1x に取って本当にプリミティブとして必要なのは何だろうね?
スレッドより継続がプリミティブだというのは、計算理論のレベルの話であって、
ここで持ち出すのは場違いな話なんじゃないかな?
0039デフォルトの名無しさん2011/02/12(土) 00:57:01
継続って例の Blocks 使って再現できるよな。
0040デフォルトの名無しさん2011/02/12(土) 03:21:06
>>37
つ getcontext(2)

http://en.wikipedia.org/wiki/Setcontext
http://homepage.mac.com/sigfpe/Computing/continuations.html
0041デフォルトの名無しさん2011/02/14(月) 17:21:13
Blocks(゚�听)イラネ
Objective-C 中だけで十分。むしろ C++0x にあわせて欲しい
Apple は Blocks 入れようと必死だけど正直やめて欲しい
0042デフォルトの名無しさん2011/02/14(月) 22:13:55
C++(゚�听)イラネ

といっても最近は C++ を見掛ける事は殆ど無くなったし、どうでも良いけどな
0043デフォルトの名無しさん2011/02/24(木) 03:34:40.27
2012年からゲッツが出来なくなると聞いて・・・
0044デフォルトの名無しさん2011/02/24(木) 19:04:59.68
今のパワーバランスを考えればC++がObjective-Cに摺り合わせるべきだろう
ラムダをBlocksの構文に合わせろ
0045デフォルトの名無しさん2011/02/24(木) 19:26:48.22
パワーバランス(笑)
0046デフォルトの名無しさん2011/02/24(木) 21:21:55.81
Smart Phone/Tablet
Android: Java
iPhone/iPad: Objective-C

Desktop
Windows: C#
Mac OS X: Objective-C
UN*X/Linux : C + Gtk+

Internet
Web Applications: JavaScript
Server Side: Java, LL

C++、アレっ、C++、、、
0047デフォルトの名無しさん2011/02/24(木) 21:24:54.64
世の中のPCが十分早くなったってことなんだるー
0048デフォルトの名無しさん2011/02/24(木) 21:55:07.04
Objective-C++ 忘れんな。
http://www.stripe-net.jp/cocoa/program/blog20091112.html
0049デフォルトの名無しさん2011/02/24(木) 22:48:48.61
パワーバランスだったら
C:150 C++:82 ObjC:26
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

0050デフォルトの名無しさん2011/02/25(金) 00:24:52.32
個人的にはネーティブなJsvascript的なものになって、JSと融合しろって思うね。
JSこそCの真の後継者だと思う。
0051デフォルトの名無しさん2011/02/25(金) 00:58:05.30
今をときめく主流デバイスで活発に開発されてる26個を
メンテされてるだけの過去の遺物82個と比べられてもねぇ
0052デフォルトの名無しさん2011/02/25(金) 01:15:16.29
>44に言ってあげよう
0053デフォルトの名無しさん2011/02/26(土) 23:04:24.98
N1548 2010/12/02 Jones, Working Draft with diff marks against N1256
ttp://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf
0054デフォルトの名無しさん2011/03/07(月) 03:52:38.02
参照渡し欲しい。
0055デフォルトの名無しさん2011/03/07(月) 03:56:49.29
名前空間と型の変数があればみんなパッピー
0056デフォルトの名無しさん2011/03/07(月) 14:22:36.12
>>54
参照渡しはまじ勘弁。
const参照のみならいいけど。
0057デフォルトの名無しさん2011/03/07(月) 20:56:39.40
プリプロセッサを過去の遺物にする様なメタ処理拡張を求む。
0058デフォルトの名無しさん2011/03/07(月) 21:17:15.38
強力なマクロ欲しいわあ
0059デフォルトの名無しさん2011/03/07(月) 22:50:07.73
マクロに再帰呼び出しを許して、
__VA_ARGS__に car, cdr 相当をするマクロとかあれば、
Lispっぽくなるな
0060デフォルトの名無しさん2011/03/08(火) 07:23:11.74
そこまでして中途半端に Lisp っぽくするメリットがデメリットを上回るかどうか
0061592011/03/08(火) 10:24:34.35
たぶんデメリットが上回るんじゃねーかな?
自分で書いといてなんだけど。
0062デフォルトの名無しさん2011/03/08(火) 12:34:04.22
何の話かと思ったらCか
0063デフォルトの名無しさん2011/03/08(火) 20:12:03.38
プリプロセッサを遺物にシテクレと言ってんのに可変引数マクロとかcar cdrとか

刺すぞ
0064デフォルトの名無しさん2011/03/09(水) 08:07:27.44
そんな63の願いもむなしく、C1xでもマクロは強化されるのだった
0065デフォルトの名無しさん2011/03/09(水) 09:24:31.83
マクロにnamespaceの概念があればなー。
0066デフォルトの名無しさん2011/03/13(日) 04:43:19.96
>>56
const& 有るだけで、随分と楽になるわぁ。欲しい
0067デフォルトの名無しさん2011/03/16(水) 19:44:32.55
複合リテラルのおかげでなんとかなる
0068デフォルトの名無しさん2011/03/16(水) 20:45:28.63
でも関数の戻り値とか。
0069デフォルトの名無しさん2011/04/22(金) 18:41:24.64
久しぶりに覗いてみたが全然C1Xの話題ねぇじゃねかw
くだらない自分の好みばっかじゃんw
0070デフォルトの名無しさん2011/04/22(金) 18:42:43.19
ほらよ。ドラフト更新されたぞ

N1569 Committee Draft ? April 12, 2011
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1569.pdf
0071デフォルトの名無しさん2011/04/22(金) 20:57:35.85
C1Xの目玉はスレッドと_Genericくらいか?
コンパイラがサポートしたら普通に使うと思う

あまり不満もないから語ることもないんじゃないかと
0072デフォルトの名無しさん2011/04/25(月) 16:49:02.34
C1xなんて規格作ったとして誰が実装するんだよ
0073デフォルトの名無しさん2011/04/25(月) 17:05:43.15
gcc、clang、icc辺りは普通に実装すると思うが。
実装されたら困ることでもあんの?
0074デフォルトの名無しさん2011/04/26(火) 10:31:15.47
普通にVCでも実装される予定
※ただし>>28
0075デフォルトの名無しさん2011/04/26(火) 20:52:54.54
C1xはMS提案の_s関数も含んでいるから
ある意味VCは部分的に先行実装していることになる
0076デフォルトの名無しさん2011/04/26(火) 21:22:20.67
しかしVCの挙動を期待してC1X規格の挙動の使ってしまうと死ねる
0077天使 ◆uL5esZLBSE 2011/07/01(金) 22:07:36.50
>>71
ハッァァァァァアァァアアアァァァァアァァァァアァァア???

今日は燃えるゴミの日だな
死ね
ゴミだな
0078天使 ◆uL5esZLBSE 2011/07/06(水) 16:21:55.25
∨∨
(((((( C1Xの目玉はスレッドと_Genericくらいか? ))))))(きリッッッッ!!キリッッ!!
∨∨∨∨
((((( コンパイラがサポートしたら普通に使うと思う )))))(キリッ!!!キリッ!!!!きリッッッ!!きリッッッッキリッッ!!
∨∨
(((((((( あまり不満もないから語ることもないんじゃないかと ))))))))(キリッキリッ!
0079デフォルトの名無しさん2011/09/06(火) 17:54:55.47
無理に一文字で表現しなくてもいいし
0080デフォルトの名無しさん2011/11/25(金) 22:15:19.98
なんかスレが一気にdat落ちしたな。なんのトラブルだ?
書き込むと直るっぽいのでカキコ保守
0081デフォルトの名無しさん2011/11/25(金) 22:47:50.25
直ったみたいだな
0082デフォルトの名無しさん2011/11/28(月) 20:05:35.36
ポータビリティと速度こそが、
わざわざこのご時世でもCを使う理由だろうに
小手先以外の機能強化してどうすんだろうな。
0083デフォルトの名無しさん2011/11/29(火) 14:58:07.68
ポータビィティと速度wwww
0084デフォルトの名無しさん2011/12/09(金) 14:33:22.27
Post Washington DC (2011) mailing ? September 2011
ttp://www.open-std.org/jtc1/sc22/wg14/www/docs/PostWashingtonDC.htm
0085デフォルトの名無しさん2011/12/20(火) 11:29:47.31
http://www.open-std.org/jtc1/sc22/wg14/
> News 2011-12-19: New revision of ISO/IEC 9899:2011 C standard (C11) published

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57853
0086デフォルトの名無しさん2011/12/20(火) 12:32:43.98
可変長配列とかgccの独自機能かと思ったら
C99の機能がC++でも使えるようにしてあるだけなのね

C1xもgcc/c++で使えるおまけ機能になるんかな
0087デフォルトの名無しさん2011/12/22(木) 22:36:47.64
C1XはC11確定だろうな
0088デフォルトの名無しさん2011/12/24(土) 03:33:05.64
>>86
Clangやってる人が、conceptやってた人で、
C++1xも積極的に実装してる。
だからMacを含めて使える環境は多い。
0089デフォルトの名無しさん2011/12/24(土) 03:45:43.72
C++1xだと……胸が熱くなるな
0090デフォルトの名無しさん2011/12/24(土) 03:46:18.76
>>87
確定っつーか、最終ドラフトはもう変えないって決定したでしょ
で、最終ドラフトPDFは凍結されてダウンロード出来なくなってる

売り物にする必要があるからね
0091デフォルトの名無しさん2011/12/24(土) 17:36:31.05
>>87,90
もうドラフトじゃなくて C11 確定してるんじゃないの? >>85
0092デフォルトの名無しさん2011/12/24(土) 20:41:01.14
>>90
あ,そうだったのか
最終ドラフトってどれだったんだろ?
N1569であってる?これなら前にダウンロードしてたんだけど
0093デフォルトの名無しさん2011/12/24(土) 21:47:51.41
PDF買えば最終ドラフトの内容も分かる
0094デフォルトの名無しさん2011/12/28(水) 13:04:31.16
ISO、C言語の新規格「C1X」を制定
http://developers.slashdot.jp/story/11/12/27/0335256/
0095デフォルトの名無しさん2012/01/08(日) 03:54:12.88
そろそろ構造体の比較ができる様に成ってもいいんじゃないかな
0096デフォルトの名無しさん2012/01/08(日) 10:37:53.02
っ 比較関数を書く
0097デフォルトの名無しさん2012/01/09(月) 01:45:15.53
C++使えよ
0098デフォルトの名無しさん2012/01/10(火) 12:19:54.41
コンストラクタとか演算子とかいうと複雑だが
メンバ関数くらいあってもいいんじゃないかと思い始めてる

C++にはない、わけのわからない機能ばっか追求してるより健全だ
0099デフォルトの名無しさん2012/01/10(火) 13:39:12.66
OOP言語使えよと成るからメンバ関数には反対だけど
ブロック単位のRAIIコード挿入構文みたいなもんは欲しいわ
0100デフォルトの名無しさん2012/01/10(火) 13:44:14.28
Welcome to D
0101デフォルトの名無しさん2012/01/11(水) 00:51:32.33
「Cにメンバ関数ぐらいあってもいい」のどこが健全なのか?
CはCとして使えよ。
あるいはC++やDでできるんだからそれらを使えばいいだろ。
「わけのわからない」のは人の問題で言語の問題じゃない。
「わかりにくい」なら言語の問題の可能性もあるが。
0102デフォルトの名無しさん2012/01/11(水) 00:54:13.40
Cにあればいいかなーと思うのはデフォルトの初期化子かなー。
intは必ず0で初期化されるコードを一元的にかけるとか。
0103デフォルトの名無しさん2012/01/11(水) 04:04:36.40
理解できないときに原因を自分のオツムではなく道具のせいにするのは
はるか昔からの人の業。
0104デフォルトの名無しさん2012/01/11(水) 15:38:33.03
GLibみたいなのを標準に入れる入れないにせよ
Boostみたいな仕組み作るのが先なんじゃね?
0105デフォルトの名無しさん2012/01/11(水) 21:49:07.78
>>102
hell fuck no!
0106 忍法帖【Lv=4,xxxP】 2012/01/20(金) 03:30:35.75
人が減ったね
0107デフォルトの名無しさん2012/01/20(金) 03:41:16.14
もうC1XじゃなくてC11になっちゃったからな
C1Xで検索かける人が減ったんだろう
0108デフォルトの名無しさん2012/01/20(金) 03:44:25.94
【初心者お断り】ガチ規格準拠C専用スレ Part134
http://toro.2ch.net/test/read.cgi/tech/1246115922/

もうこっちで扱えるようになったし
このスレ用済み
0109デフォルトの名無しさん2012/01/20(金) 12:28:04.61
ここ捨ててC2Xスレ建てんの?
10年スパンだけどバージョン明記しないで
「次期規格C言語スレ」とかにした方が長持ちしそうか
0110デフォルトの名無しさん2012/01/24(火) 10:12:32.68
http://www.open-std.org/jtc1/sc22/wg14/
News 2012-01-23: Defect reports and record of responses V1.0 on ISO/IEC 9899:2011
News 2012-01-18: PreKona2012 mailing available
0111デフォルトの名無しさん2012/01/24(火) 10:48:10.91
papersじゃなくなったんだな。
0112デフォルトの名無しさん2012/01/24(火) 23:59:04.62
なぜここのURLを貼らなかったしw
http://www.open-std.org/jtc1/sc22/wg14/www/docs/summary.htm
0113デフォルトの名無しさん2012/02/03(金) 17:29:31.64
次のCってなんて呼ぶの?
C++はC++1yと呼んでるようだけど
C1yとかC2Xとかなんかある?
0114デフォルトの名無しさん2012/02/08(水) 23:13:07.09
IUPAC あたりに命名法を学ぶとか
0115デフォルトの名無しさん2012/02/13(月) 00:47:03.16
http://en.wikipedia.org/wiki/C11_(C_standard_revision)
> This new version mainly standardizes features that have already been supported by
> common contemporary compilers, and includes a detailed memory model to better support multiple
> threads of execution.

◆Changes from C99
0116デフォルトの名無しさん2012/02/13(月) 00:59:02.91
You Don't Know Jack about Shared Variables or Memory Models
- Data races are evil.
Hans-J. Boehm, HP Laboratories, Sarita V. Adve, University of Illinois at Urbana-Champaign
December 28, 2011
http://queue.acm.org/detail.cfm?id=2088916

Boehm GCの人だ。
0117デフォルトの名無しさん2012/02/13(月) 14:26:11.42
BoehmはC委員会にもC++委員会にも顔出してる
0118デフォルトの名無しさん2012/04/18(水) 22:15:16.98
VC++実装はよ
0119デフォルトの名無しさん2012/06/15(金) 20:15:21.71
Static if とか 0xリテラルで _ を入れられるようになったりして欲しいねぇ。
■ このスレッドは過去ログ倉庫に格納されています