!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.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言語なら俺に聞け 162
https://mevius.5ch.net/test/read.cgi/tech/1698653580/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 163
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7bba-Lem2)
2024/07/16(火) 22:43:54.18ID:ZrsCjURC0372デフォルトの名無しさん (ワッチョイ ffd6-G09H)
2024/11/25(月) 07:22:58.48ID:NtppUMW10 6.3.1.3のこれじゃないの
Otherwise, if the new type is unsigned, the value is converted by repeatedly adding or
subtracting one more than the maximum value that can be represented in the new type
until the value is in the range of the new type.
Otherwise, if the new type is unsigned, the value is converted by repeatedly adding or
subtracting one more than the maximum value that can be represented in the new type
until the value is in the range of the new type.
373デフォルトの名無しさん (ワッチョイ bf5f-FO3g)
2024/11/25(月) 08:27:04.40ID:qsrJNZhH0 6.3.1.3
符号付き整数型及び符号無し整数型 整数型の値を̲Bool型以外の他の整数型に変換する場合,
その値が新しい型で表現可能なとき,値は変化しない。
新しい型で表現できない場合,新しい型が符号無し整数型であれば,新しい型で表現しうる最大の数に
1加えた数を加えること又は減じることを,新しい型の範囲に入るまで繰り返すことによって得られる値
に変換する(49)。
なるほど,1がintで<<31すると負の最大値となって,unsignedとして表せないからか.
皆様,ありがとうございました.
符号付き整数型及び符号無し整数型 整数型の値を̲Bool型以外の他の整数型に変換する場合,
その値が新しい型で表現可能なとき,値は変化しない。
新しい型で表現できない場合,新しい型が符号無し整数型であれば,新しい型で表現しうる最大の数に
1加えた数を加えること又は減じることを,新しい型の範囲に入るまで繰り返すことによって得られる値
に変換する(49)。
なるほど,1がintで<<31すると負の最大値となって,unsignedとして表せないからか.
皆様,ありがとうございました.
374はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f732-hCSs)
2024/11/25(月) 09:22:18.85ID:EAdMpn4b0375デフォルトの名無しさん (ワッチョイ 9fc2-ZGYG)
2024/11/25(月) 09:32:20.82ID:SsaYg1Am0 科学 + ンニュース 5ch
保守派もリベラル派も「自分の政治的信念に合致したニュース」を信じやすいという研究結果 [すらいむ★]
https://itest.5ch.net/egg/test/read.cgi/scienceplus/1732447647
コメントも含めて読むと
陰謀論が収まら無い理由が判明する
保守派もリベラル派も「自分の政治的信念に合致したニュース」を信じやすいという研究結果 [すらいむ★]
https://itest.5ch.net/egg/test/read.cgi/scienceplus/1732447647
コメントも含めて読むと
陰謀論が収まら無い理由が判明する
376デフォルトの名無しさん (ワッチョイ ffd6-G09H)
2024/11/25(月) 09:46:02.42ID:NtppUMW10 なるほど、32bitのみでやるときも1u<<31にしないといけないのか
377デフォルトの名無しさん (ササクッテロ Spcb-8bf6)
2024/11/25(月) 10:29:04.22ID:G+C3M6QHp なぜ浮動小数型をシフトしようとした?
378デフォルトの名無しさん (ワッチョイ bfdf-FO3g)
2024/11/25(月) 13:39:22.46ID:YjGMGS1I0 >> 374 なるほど,そっちで既に未定義だったか.
6.5.7
ビット単位のシフト演算子
構文規則
シフト式:
加減式
シフト式 << 加減式
シフト式 >> 加減式
制約 各オペランドは,整数型をもたなければならない。
意味規則 整数拡張を各オペランドに適用する。結果の型は,左オペランドを拡張した後の型とする。右オペランドの値が負であるか,又は拡張した左オペランドの幅以上の場合,その動作は,未定義とする。
E1<<E2の結果は,E1をE2ビット分左にシフトした値とする。空いたビットには0を詰める。E1が符号無し整数型をもつ場合,結果の値は,E1×2E2の,結果の型で表現可能な最大値より1大きい値を法と
する剰余とする。E1が符号付き整数型と非負の値をもち,E1×2E2が結果の型で表現可能である場合,それが結果の値となる。それ以外の場合,その動作は未定義とする。
E1>>E2の結果は,E1をE2ビット分右にシフトした値とする。E1が符号無し整数型をもつ場合,又はE1が符号付き整数型と非負の値をもつ場合,結果の値は,E1/2E2の商の整数部分とする。E1が符号付き整数型と負の値をもつ場合,結果の値は処理系定義とする。
6.5.7
ビット単位のシフト演算子
構文規則
シフト式:
加減式
シフト式 << 加減式
シフト式 >> 加減式
制約 各オペランドは,整数型をもたなければならない。
意味規則 整数拡張を各オペランドに適用する。結果の型は,左オペランドを拡張した後の型とする。右オペランドの値が負であるか,又は拡張した左オペランドの幅以上の場合,その動作は,未定義とする。
E1<<E2の結果は,E1をE2ビット分左にシフトした値とする。空いたビットには0を詰める。E1が符号無し整数型をもつ場合,結果の値は,E1×2E2の,結果の型で表現可能な最大値より1大きい値を法と
する剰余とする。E1が符号付き整数型と非負の値をもち,E1×2E2が結果の型で表現可能である場合,それが結果の値となる。それ以外の場合,その動作は未定義とする。
E1>>E2の結果は,E1をE2ビット分右にシフトした値とする。E1が符号無し整数型をもつ場合,又はE1が符号付き整数型と非負の値をもつ場合,結果の値は,E1/2E2の商の整数部分とする。E1が符号付き整数型と負の値をもつ場合,結果の値は処理系定義とする。
379デフォルトの名無しさん (JP 0Hdf-6m00)
2024/11/26(火) 22:12:07.51ID:JxXv+doZH VS CodeでEchoAPIを使うと、ツールを切り替えずにAPIテストをシームレスに管理できるようになったよ!
380デフォルトの名無しさん (ワッチョイ d761-7ouQ)
2024/11/29(金) 15:48:48.81ID:QX01Nly20 以下のサンプルプログラムが理解できず困っています。
該当プログラムは、コマンドラインから読み込んだBMPの色データを矩形として並べていくというものの一部を抜粋しています。
以下のfor文は
カラーテーブルの数を取得する→
ブラシを設定する→
先頭の構造体メンバからiCount先の構造体メンバを指定→
iCountにインクリメント
という流れだと考えられると思うのですが、1に対し1カラービット分左シフトとなっている部分がどういったロジックによって数の取得が実現されているのかわかりません。
質問は2点あり、どのようにしてテーブル数を取得しているのか、コードの理解は正しいのかについてお答えしていただければと思います。
サンプルコード
#include <windows.h>
BITMAPFILEHEADER bmpFileHeader;
BITMAPCOREHEADER bmpCoreHeader;
RGBTRIPLE *prtColor;
for ( ; iCount < (1 << bmpCoreHeader.bcBitCount) ; iCount++) {
SelectObject(hdc , CreateSolidBrush(
RGB( (prtColor + iCount)->rgbtRed ,
(prtColor + iCount)->rgbtGreen ,
(prtColor + iCount)->rgbtBlue
))
該当プログラムは、コマンドラインから読み込んだBMPの色データを矩形として並べていくというものの一部を抜粋しています。
以下のfor文は
カラーテーブルの数を取得する→
ブラシを設定する→
先頭の構造体メンバからiCount先の構造体メンバを指定→
iCountにインクリメント
という流れだと考えられると思うのですが、1に対し1カラービット分左シフトとなっている部分がどういったロジックによって数の取得が実現されているのかわかりません。
質問は2点あり、どのようにしてテーブル数を取得しているのか、コードの理解は正しいのかについてお答えしていただければと思います。
サンプルコード
#include <windows.h>
BITMAPFILEHEADER bmpFileHeader;
BITMAPCOREHEADER bmpCoreHeader;
RGBTRIPLE *prtColor;
for ( ; iCount < (1 << bmpCoreHeader.bcBitCount) ; iCount++) {
SelectObject(hdc , CreateSolidBrush(
RGB( (prtColor + iCount)->rgbtRed ,
(prtColor + iCount)->rgbtGreen ,
(prtColor + iCount)->rgbtBlue
))
381デフォルトの名無しさん (スプッッ Sd3f-G09H)
2024/11/29(金) 16:12:14.82ID:YWo8X0edd bcBitCountはピクセルあたりビット数で1,4,8,24だそう
nビットで表せる値は2^n通りで、これは左シフト1<<nで計算できる
nビットで表せる値は2^n通りで、これは左シフト1<<nで計算できる
382デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/29(金) 23:08:43.43ID:5pZynS2U0 # 質問されていない部分だけど…
iCountと比較する値はループ内で変動しないよね?
だったら毎回計算せずにループ前で計算して別変数に記憶しておくほうがよくないかい?
iCountと比較する値はループ内で変動しないよね?
だったら毎回計算せずにループ前で計算して別変数に記憶しておくほうがよくないかい?
383デフォルトの名無しさん (ワッチョイ ffd6-G09H)
2024/11/30(土) 00:28:19.69ID:b6kb1MmL0 今時のコンパイラは十分賢いので気にすることない
384デフォルトの名無しさん (ワッチョイ ff63-cdGy)
2024/11/30(土) 00:37:35.21ID:VtvuoLT+0 ユーザーの犯したバグも直してくれるとありがたいなあ
385デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 00:47:56.34ID:k7UOR52k0 シフトでも掛算でもどっちでもいいけど
質問者のように読んで悩むのは問題
コメント書いておけ
ループ内毎回計算か最適化でループ外に出したかは
コンパイル後の逆アセンブルとかで確認するの?
だったら間違いないようにループ外に出す方が良い癖にもなると思うのだが
質問者のように読んで悩むのは問題
コメント書いておけ
ループ内毎回計算か最適化でループ外に出したかは
コンパイル後の逆アセンブルとかで確認するの?
だったら間違いないようにループ外に出す方が良い癖にもなると思うのだが
386デフォルトの名無しさん (ワッチョイ bf79-q0Tp)
2024/11/30(土) 09:43:24.89ID:54hbVEvk0 380の知能では最適化したつもりが新たなバグを埋め込む事になるかもしれん
自身の身の丈に合ったコードにしとけ
未来の自分が賢くなってる事を信じて
自身の身の丈に合ったコードにしとけ
未来の自分が賢くなってる事を信じて
387デフォルトの名無しさん (アウアウエー Sadf-wjfe)
2024/11/30(土) 09:49:47.60ID:l0dFcapba #include <windows.h>
BITMAPFILEHEADER bmpFileHeader;
BITMAPCOREHEADER bmpCoreHeader;
RGBTRIPLE *prtColor;
↑
この間に何も描かれてないのは投稿者が勝手に削除したの?元から無いの?
↓
for ( ; iCount < (1 << bmpCoreHeader.bcBitCount) ; iCount++) {
SelectObject(hdc , CreateSolidBrush(
RGB( (prtColor + iCount)->rgbtRed ,
(prtColor + iCount)->rgbtGreen ,
(prtColor + iCount)->rgbtBlue
))
BITMAPFILEHEADER bmpFileHeader;
BITMAPCOREHEADER bmpCoreHeader;
RGBTRIPLE *prtColor;
↑
この間に何も描かれてないのは投稿者が勝手に削除したの?元から無いの?
↓
for ( ; iCount < (1 << bmpCoreHeader.bcBitCount) ; iCount++) {
SelectObject(hdc , CreateSolidBrush(
RGB( (prtColor + iCount)->rgbtRed ,
(prtColor + iCount)->rgbtGreen ,
(prtColor + iCount)->rgbtBlue
))
388デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 11:23:36.84ID:k7UOR52k0 なんでこんなに読めないのか理由がわかった
変数名や字下げや「,」前のブランクなど
論理そのもの以前にコーディングの美しさが全然無い
変数名や字下げや「,」前のブランクなど
論理そのもの以前にコーディングの美しさが全然無い
389デフォルトの名無しさん (ワッチョイ ff63-cdGy)
2024/11/30(土) 11:53:49.47ID:VtvuoLT+0 この掲示板書き込むと、スペースやタブは消されちゃうんだよな。
だから綺麗に整形した状態でソース載せたいなら、
全角スペース使うしかない。
あるいはソース公開出来るサイトにアップロードして、
そのリンクを張るなりする。
そういうサイトは、>>1 に書いてある。
だから綺麗に整形した状態でソース載せたいなら、
全角スペース使うしかない。
あるいはソース公開出来るサイトにアップロードして、
そのリンクを張るなりする。
そういうサイトは、>>1 に書いてある。
390デフォルトの名無しさん (ワッチョイ bfd9-6oxW)
2024/11/30(土) 12:18:13.55ID:tlb45efI0 美しさとか言い出したら自転車置き場の議論なるからやめとけ
391デフォルトの名無しさん (ワッチョイ ff63-cdGy)
2024/11/30(土) 12:21:38.32ID:VtvuoLT+0392デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 15:56:34.50ID:k7UOR52k0 python自体のスタイルPEP8に加えてCについてのPEP7も整備されているのに
https://peps.python.org/pep-0007/
あえてそれに背くコーディングをする理由が見つからない
GNUのへんてこコーディングも規約文章は整備されている
https://peps.python.org/pep-0007/
あえてそれに背くコーディングをする理由が見つからない
GNUのへんてこコーディングも規約文章は整備されている
393デフォルトの名無しさん (ワッチョイ bf79-q0Tp)
2024/11/30(土) 16:28:54.09ID:54hbVEvk0 他人のふんどしででかい顔のpythonは存在自体がきしょくってぇ
そんなもん使ってる奴の押し付けに従う気にはとてもなれないって感じぃ
そんなもん使ってる奴の押し付けに従う気にはとてもなれないって感じぃ
394はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f732-hCSs)
2024/11/30(土) 16:41:54.15ID:VBYh6hCP0 自分の使ってるテキストエディタにコピペして整形を実行したら一瞬でどうとでもなるんだからどうでもいいだろ。
395デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 17:05:29.66ID:k7UOR52k0 func(a , b , c );
func(a, b, c);
上から下への変換はインデントとは異なりやっかい
func(a, b, c);
上から下への変換はインデントとは異なりやっかい
396はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f732-hCSs)
2024/11/30(土) 17:22:56.29ID:VBYh6hCP0 >>395
どんな古臭いフォーマッタを使ってるんだ?
どんな古臭いフォーマッタを使ってるんだ?
397デフォルトの名無しさん (ワッチョイ d761-7ouQ)
2024/11/30(土) 17:25:06.78ID:9y3I76FS0398デフォルトの名無しさん (ワッチョイ d761-7ouQ)
2024/11/30(土) 17:25:18.86ID:9y3I76FS0399デフォルトの名無しさん (ワッチョイ bf79-q0Tp)
2024/11/30(土) 18:05:05.65ID:54hbVEvk0 Cは知っといた方がいいけど
GUIをやりたいならこのスレに居るのは時間の無駄なんだが
そのBITMAPなんちゃらも以下の環境では気にしなくていい
GUI開発おすすめ言語
iOS macOSアプリ Swift、Objective-C
Androidアプリ Kotlin、Java
Webアプリ Kotlin、Java
Windows C#
なおWeb系はHTML/CSS、JavaScript/TypeScriptは必須と思って頂きたい
GUIをやりたいならこのスレに居るのは時間の無駄なんだが
そのBITMAPなんちゃらも以下の環境では気にしなくていい
GUI開発おすすめ言語
iOS macOSアプリ Swift、Objective-C
Androidアプリ Kotlin、Java
Webアプリ Kotlin、Java
Windows C#
なおWeb系はHTML/CSS、JavaScript/TypeScriptは必須と思って頂きたい
400デフォルトの名無しさん (ワッチョイ ff63-cdGy)
2024/11/30(土) 18:12:39.34ID:VtvuoLT+0 Windowsの内部構造を知るのは時間の無駄なのか
401デフォルトの名無しさん (ワッチョイ bf79-q0Tp)
2024/11/30(土) 18:17:30.16ID:54hbVEvk0 BITMAPなんちゃらに詳しくなった所でWindowsの内部構造を知ったことにはならないんだがぁ?
現行Windows11の内部構造なんてきしょすぎてそもそも知りたくもないわ
現行Windows11の内部構造なんてきしょすぎてそもそも知りたくもないわ
402デフォルトの名無しさん (ワッチョイ ff63-cdGy)
2024/11/30(土) 18:33:02.64ID:VtvuoLT+0 そういう人はソフト開発に向いてないよ
403デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 18:37:21.74ID:k7UOR52k0 これだけ見て分かるわけ無いよ
max = 1 << bmpCoreHeader.bcBitCount;
for (iCountの初期値が無いよ、普通0からだよね; iCount < max; iCount++) {
// テーブルRGB値をブラシの色に設定?
brush = CreateSolidBrush(...);
// RGBで色指定したブラシで塗る?hdcが変わらんようだが何回も呼ぶ意味があるの?
SelectObject(hdc, brush);
// これ以降があるのか…
}
max = 1 << bmpCoreHeader.bcBitCount;
for (iCountの初期値が無いよ、普通0からだよね; iCount < max; iCount++) {
// テーブルRGB値をブラシの色に設定?
brush = CreateSolidBrush(...);
// RGBで色指定したブラシで塗る?hdcが変わらんようだが何回も呼ぶ意味があるの?
SelectObject(hdc, brush);
// これ以降があるのか…
}
404デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 18:53:59.75ID:k7UOR52k0 bmpCoreHeader.bcBitCount の範囲チェックが必要そう
uint64_t max;
max = 1 << 64; // max == 0x8000000000000000 で意味がありそう
max = 1 << 65; // これ64bit整数の範囲超えているよね、プロセッサ依存の値になる予感
uint64_t max;
max = 1 << 64; // max == 0x8000000000000000 で意味がありそう
max = 1 << 65; // これ64bit整数の範囲超えているよね、プロセッサ依存の値になる予感
405デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 19:19:34.08ID:k7UOR52k0 64bitシフトでも溢れた
これ難しいね
uint64_t seed, max
seed = 1;
max = seed << 63; // 0x80000000 で期待どおり
max = 1ull << 63; // 0x80000000 これも期待どおり
max = 1 << 63; // 即値1のレジスタ範囲が足りない?
max = 1 << 63; // 即値1だと32bitなのか
これ難しいね
uint64_t seed, max
seed = 1;
max = seed << 63; // 0x80000000 で期待どおり
max = 1ull << 63; // 0x80000000 これも期待どおり
max = 1 << 63; // 即値1のレジスタ範囲が足りない?
max = 1 << 63; // 即値1だと32bitなのか
406デフォルトの名無しさん (スプッッ Sd8b-G09H)
2024/11/30(土) 19:23:29.64ID:ePDG6JlId カラーパレットを使うのは1,4,8って決まってるんだが
407青木康善 (アウアウウー Sa5b-8bf6)
2024/11/30(土) 19:52:07.91ID:exhSsXMya トリプルポインタが理解不能です。
408デフォルトの名無しさん (ワッチョイ ff76-J7R8)
2024/11/30(土) 20:06:07.06ID:k7UOR52k0 1, 4, 8以外のエラー処理が無ければ手抜きプログラムだよ
409デフォルトの名無しさん (ワッチョイ bf79-q0Tp)
2024/11/30(土) 21:42:40.50ID:54hbVEvk0 これが俗に言う無能な働き者かぁ…
410デフォルトの名無しさん (ワッチョイ 57c3-EYTo)
2024/11/30(土) 22:31:58.70ID:cI+uLRSv0 粘着キショい
411デフォルトの名無しさん (ササクッテロロ Sp10-8wrk)
2024/12/01(日) 11:20:07.96ID:HNZEO20Lp >>407
理解してる俺でもデバッグん時に面倒だから使わない
理解してる俺でもデバッグん時に面倒だから使わない
412デフォルトの名無しさん (ワッチョイ 9663-WFUB)
2024/12/01(日) 11:21:42.42ID:+XByeWPN0 理解するな、感じるんだ!
413デフォルトの名無しさん (ワッチョイ fb6e-Qs+Z)
2024/12/02(月) 07:39:26.68ID:UIzNnBqa0 スマホ世代もCってるなんて頼もしい限りだな
https://pbs.twimg.com/media/GdrvuRtWgAA1DOe.jpg
https://pbs.twimg.com/media/GdrvuRtWgAA1DOe.jpg
414デフォルトの名無しさん (ササクッテロロ Sp10-8wrk)
2024/12/02(月) 10:00:18.95ID:cKcAe5N2p なんだその数字w
415はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bd32-LsAq)
2024/12/02(月) 12:52:17.82ID:5A4jg9rQ0 >>413
なんていうアプリで書いてるんだろ?
なんていうアプリで書いてるんだろ?
416デフォルトの名無しさん
2024/12/02(月) 16:27:58.74ID:sZTu4RGZ0417デフォルトの名無しさん (ワッチョイ 9663-WFUB)
2024/12/02(月) 16:44:39.99ID:mvW+hvRB0 無料版もあるみたいだ。違いは分からなかった。
/dp/B01CEZQGX8
/dp/B01CEZQGX8
なんかEchoAPI、さまざまなAPIシナリオをモックするのに役立って、フロントエンドの作業を独立して行えるようになるよ
419デフォルトの名無しさん (ワッチョイ 62ad-sHi4)
2024/12/05(木) 08:13:19.15ID:XxVPE2wx0 前はAIDEってのもあったような
自分も購入済みだったけどストアから消えた
自分も購入済みだったけどストアから消えた
420デフォルトの名無しさん (ワッチョイ ca48-Q86W)
2024/12/05(木) 08:18:47.93ID:GShkk8fF0 >>418ならただの宣伝マルチポストなのでさっさとNGしておくように
421デフォルトの名無しさん (アウアウ Sa4f-f5HH)
2024/12/08(日) 09:05:36.00ID:NBQmwlWPa char text[32] = "count="
sptintf(text, "%s%d", text, 100);
↑これって問題ない?
sptintf(text, "%s%d", text, 100);
↑これって問題ない?
422デフォルトの名無しさん (ワッチョイ a794-InQL)
2024/12/08(日) 09:31:43.48ID:ukMyBbJC0 オーバーフローを懸念。
423デフォルトの名無しさん (ワッチョイ bf5e-dt5O)
2024/12/08(日) 12:39:42.22ID:xllqP0wk0 snprintf
424はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4732-B9Rp)
2024/12/08(日) 13:05:39.35ID:6js3fqHP0 >>421
sprintf のことだよね?
問題はある。
領域が重なるオブジェクト間でコピーが行われるときの動作は未定義とするという仕様になってる。
それと関数シグネチャを見ればわかるが引数のところに restrict ってついてるでしょ。
その性質上、他の引数がこれと領域が被ってはいけないというサインだ。
まあ引数を使わない関数であれば restrict 修飾されたポインタが指す領域がかぶってもただちに違反ではないが、常識的には渡す以上は使われるものと想定すべきだよね。
sprintf のことだよね?
問題はある。
領域が重なるオブジェクト間でコピーが行われるときの動作は未定義とするという仕様になってる。
それと関数シグネチャを見ればわかるが引数のところに restrict ってついてるでしょ。
その性質上、他の引数がこれと領域が被ってはいけないというサインだ。
まあ引数を使わない関数であれば restrict 修飾されたポインタが指す領域がかぶってもただちに違反ではないが、常識的には渡す以上は使われるものと想定すべきだよね。
425デフォルトの名無しさん (ワッチョイ e7fa-jsat)
2024/12/08(日) 16:35:15.95ID:iOnFgjmu0426デフォルトの名無しさん (ワッチョイ 7f63-xJXv)
2024/12/08(日) 20:16:31.35ID:rVbvHhAN0 最近の小学校ではこんな宿題出るのか
末恐ろしいと言うか、頼もしいというか
末恐ろしいと言うか、頼もしいというか
427デフォルトの名無しさん
2024/12/09(月) 01:07:25.53ID:ToKnc/9y0 コンピュータの授業とか普通にあるんだろ?今って
俺からすると羨ましい限りだわ
でもダンスの授業はいらん
俺からすると羨ましい限りだわ
でもダンスの授業はいらん
428デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/09(月) 01:41:05.76ID:izrgU9L90 元々芸術科目や体育は面倒な存在だし
ダンスはそれらが合わさって一見最強に見えるだけで専門科目に比べれば実は大した内容じゃない
子供は加減の付け方を知らないから物凄い壁に見えるんだろう
ダンスはそれらが合わさって一見最強に見えるだけで専門科目に比べれば実は大した内容じゃない
子供は加減の付け方を知らないから物凄い壁に見えるんだろう
429はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 67c7-B9Rp)
2024/12/09(月) 01:48:04.91ID:hHB0rnnr0 1990 年代頃なら中学校でコンピュータの授業はあったがプログラミングがちょっとでも出来るようになるほどではなく使い方に慣れるという程度だったと思う。
ただ、学校に設備や資料はあったから興味があれは詳しくなれるチャンスはあった。
設備をどのくらい解放するかは学校の体制によるだろうけど。
ただ、学校に設備や資料はあったから興味があれは詳しくなれるチャンスはあった。
設備をどのくらい解放するかは学校の体制によるだろうけど。
430デフォルトの名無しさん (ワッチョイ dfad-pQ4B)
2024/12/09(月) 10:00:06.94ID:hbK9EAUD0 >>427
踊りながら英語でコンピュータを使え
踊りながら英語でコンピュータを使え
431デフォルトの名無しさん (ワッチョイ dff4-tB0+)
2024/12/09(月) 13:23:27.80ID:wWCmXoxS0 科学 + 5ch
【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/
コメントに面白いことが書かれている
【AI】AIはわずか2時間の対話で人間の性格をコピーできる [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1733576027/
コメントに面白いことが書かれている
432デフォルトの名無しさん (ワッチョイ 7f63-xJXv)
2024/12/09(月) 13:52:01.90ID:IOR7vjsa0 2時間で初等教育から大学院レベルまで学習完了したら
人間要らなくなりそうだな
人間要らなくなりそうだな
433デフォルトの名無しさん (ワッチョイ e701-f5HH)
2024/12/09(月) 18:02:12.33ID:rC3URswf0 >>429
たしか教師がクソすぎて失敗したんだよなw
たしか教師がクソすぎて失敗したんだよなw
434デフォルトの名無しさん (ワッチョイ dfad-pQ4B)
2024/12/09(月) 19:36:33.91ID:hbK9EAUD0 やがて全ての仕事がAIに直結されたロボットによって置き換えられ、人類絶滅。
地球はAIのみが存在する世界になり、真空でもそのまま動くロボットが宇宙征服。
地球はAIのみが存在する世界になり、真空でもそのまま動くロボットが宇宙征服。
435デフォルトの名無しさん (ワッチョイ 6761-/Pym)
2024/12/09(月) 21:34:01.67ID:OpvCpgOo0 チェックボックスとかラジオボタンの状態を保存したいんだけどなんて調べればええんすの?
現状ウィンドウを破棄する前にコントロールの内容を取得して状態に合わせた変数を初期化ファイルに保存、再起動時に変数に対応した状態に再設定するみたいなのしか思いつかん
冗長になって見づらいだろうし代替案を知りたい
現状ウィンドウを破棄する前にコントロールの内容を取得して状態に合わせた変数を初期化ファイルに保存、再起動時に変数に対応した状態に再設定するみたいなのしか思いつかん
冗長になって見づらいだろうし代替案を知りたい
436デフォルトの名無しさん (ワッチョイ 7f63-xJXv)
2024/12/09(月) 21:38:21.41ID:IOR7vjsa0 その通りで良いと思います
www最近、EchoAPIを使い始めたところ、効率的なAPIテストツールを提供してくれるおかげで、開発プロセスが向上した!
438デフォルトの名無しさん (ワッチョイ 6761-/Pym)
2024/12/10(火) 09:40:44.51ID:9vz9QL6n0 >>436
これで行くしかないのか
これで行くしかないのか
439デフォルトの名無しさん (ワッチョイ e707-f5HH)
2024/12/10(火) 10:01:08.05ID:gzrtf0Gl0 対応表をだーっと並べる、control_state_read_and_write(bool is_write, ...) みたいな関数を置く、など
割り切ってしまえば工夫のしがいはある
ただ、そのときはよくても、あとになってみたら黒魔術でしかなかったりする
愚直なのもいいぞ
割り切ってしまえば工夫のしがいはある
ただ、そのときはよくても、あとになってみたら黒魔術でしかなかったりする
愚直なのもいいぞ
440デフォルトの名無しさん (ワッチョイ ff5a-gNLw)
2024/12/10(火) 17:10:24.87ID:TsXGEoU20 >>435
何がどう"冗長になって見づらい"のか?
何がどう"冗長になって見づらい"のか?
441デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/10(火) 19:03:49.02ID:ruXLR+AW0 属人化だとか 尻アナルライブだとかあったような
442デフォルトの名無しさん (ワッチョイ 7f63-xJXv)
2024/12/10(火) 19:06:39.85ID:RLBTgK1d0 身体に刻む学習方法
443デフォルトの名無しさん (アウアウ Sa4f-f5HH)
2024/12/10(火) 21:11:22.07ID:RajTC0DHa >>422-424
ありがとん
ありがとん
444デフォルトの名無しさん (アウアウ Sa4f-f5HH)
2024/12/10(火) 21:43:52.59ID:RajTC0DHa これでなんか機能した
TCHAR buf[255];
this->GetWindowText(title, 255);
int len = _tcsclen(buf);
_sntprintf(buf + len, 255, " %d", uiWindowCount);
this->SetWindowText(buf);
TCHAR buf[255];
this->GetWindowText(title, 255);
int len = _tcsclen(buf);
_sntprintf(buf + len, 255, " %d", uiWindowCount);
this->SetWindowText(buf);
445デフォルトの名無しさん (ワッチョイ bf79-/9Tr)
2024/12/10(火) 21:51:03.48ID:ruXLR+AW0 this->
ナニコレ
もしかしてC言語スレでC++使えるぞあぴーるですか!
すげー
ナニコレ
もしかしてC言語スレでC++使えるぞあぴーるですか!
すげー
446はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4732-f5HH)
2024/12/10(火) 22:13:12.06ID:ujXLUuNp0447デフォルトの名無しさん (アウアウ Sa4f-f5HH)
2024/12/11(水) 07:46:28.90ID:P/b6xwK7a API自体はC言語なんでそこらへんはスルーでお願い
448はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 4732-B9Rp)
2024/12/11(水) 14:36:37.44ID:fIut9/tx0
最近のRESTful APIについての議論に触発されてEchoAPIを試してみたところ、エンドポイントのシミュレーションツールがテストプロセスを非常に効率化してくれました。
450デフォルトの名無しさん (ワッチョイ 7f63-xJXv)
2024/12/11(水) 23:04:37.50ID:xKzgcnaC0 MSは採用していないのかな?
なんでこんなにバグが多いんだろう
なんでこんなにバグが多いんだろう
451デフォルトの名無しさん (ワッチョイ 33b8-iztn)
2024/12/15(日) 15:13:40.89ID:jrfqO5QN0 1つめのプロシージャで宣言した変数を2つ目のプロシージャで使うって頑張れば可能?
それともグローバル変数宣言したほうがいい?
それともグローバル変数宣言したほうがいい?
452デフォルトの名無しさん (ワッチョイ a301-aNNs)
2024/12/15(日) 15:17:17.63ID:Vq+PRAKz0 引数で渡せばいいんじゃね
453デフォルトの名無しさん (ワッチョイ 33b8-iztn)
2024/12/15(日) 15:23:28.37ID:jrfqO5QN0 >>452
それも考えたんだけど、プロシージャ作るときライブラリ側が指定した引数以外渡せないんじゃない?
それも考えたんだけど、プロシージャ作るときライブラリ側が指定した引数以外渡せないんじゃない?
454デフォルトの名無しさん (ワッチョイ be63-Vy5I)
2024/12/15(日) 15:31:40.27ID:wmU+aa0b0 そのプロシージャーを同一モジュール内lに記述して、
変数をスタティック宣言する、とか
変数をスタティック宣言する、とか
455デフォルトの名無しさん (ワッチョイ 33b8-iztn)
2024/12/15(日) 15:38:22.49ID:jrfqO5QN0456デフォルトの名無しさん (ワッチョイ be63-Vy5I)
2024/12/15(日) 15:45:22.53ID:wmU+aa0b0 ちょっと違う様な気がする
そのファイル内にある全ての関数から参照出来る宣言です
スタティック宣言を調べて見て
そのファイル内にある全ての関数から参照出来る宣言です
スタティック宣言を調べて見て
457デフォルトの名無しさん (ワッチョイ 33b8-iztn)
2024/12/15(日) 15:46:49.05ID:jrfqO5QN0458デフォルトの名無しさん (ワッチョイ 33b8-iztn)
2024/12/15(日) 16:32:34.62ID:jrfqO5QN0 調べてみたけど関数内に別の関数の処理はかけないっぽい?
とりあえず自前のソース書き換えてみたけどC2275が出てしまう
とりあえず自前のソース書き換えてみたけどC2275が出てしまう
459デフォルトの名無しさん (ブーイモ MM8a-1w4P)
2024/12/15(日) 16:54:06.72ID:Wjdp3H7kM モジュールとかプロシージャはc言語の用語ではないよ
誤解を生むからなるべく正しい用語で
あるいはソース書け
誤解を生むからなるべく正しい用語で
あるいはソース書け
460デフォルトの名無しさん (ワッチョイ a301-2Zui)
2024/12/15(日) 17:04:08.92ID:5Q71kCB70 Cで作ったソフトにアイコンをつける方法ありますか?
コンパイラはmingw
コンパイラはmingw
461はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k)
2024/12/15(日) 17:07:42.25ID:SAQ/jMe00 >>460
リソーススクリプトを書いて windres コマンドでコンパイルしてリンク。
リソーススクリプトを書いて windres コマンドでコンパイルしてリンク。
462デフォルトの名無しさん (ワッチョイ 3338-UX28)
2024/12/15(日) 17:11:49.15ID:jrfqO5QN0 >>459
ウィンドウプロシージャでおk?
ウィンドウプロシージャでおk?
463はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-782k)
2024/12/15(日) 17:25:02.46ID:SAQ/jMe00464デフォルトの名無しさん (ワッチョイ 4a12-O1Z7)
2024/12/15(日) 20:08:51.95ID:7bvd8wX+0 >>458
よくある質問に書いてあんだからそれを読めよ
よくある質問に書いてあんだからそれを読めよ
465デフォルトの名無しさん (ワッチョイ 4aa2-SaU4)
2024/12/15(日) 21:32:26.28ID:8K4C8OcF0 2つ目のプロシージャってなんやねん
466デフォルトの名無しさん (オッペケ Srb3-aNNs)
2024/12/16(月) 07:18:55.27ID:Y4GCxOlhr 今北
何のデータかわからんが、だれに属しているデータなのやら
「全然関係ないところ」には、置かないほうがいいぞ少なくとも
何のデータかわからんが、だれに属しているデータなのやら
「全然関係ないところ」には、置かないほうがいいぞ少なくとも
467デフォルトの名無しさん (ワッチョイ 3369-iztn)
2024/12/16(月) 18:03:11.25ID:o/MtQx1A0 下記のコードのsizeof(buf)/sizeof(TCHAR)ってなんの意味があるの?
ただのsizeof(buf)じゃだめ?
static int num;
TCHAR buf[8];
stprintf_s(buf,sizeof(buf)/sizeof(TCHAR), TEXT("%d"), num);
ただのsizeof(buf)じゃだめ?
static int num;
TCHAR buf[8];
stprintf_s(buf,sizeof(buf)/sizeof(TCHAR), TEXT("%d"), num);
468デフォルトの名無しさん (ワッチョイ 3369-iztn)
2024/12/16(月) 18:17:40.10ID:o/MtQx1A0 >>463
なるほどね、それで行けるかありがとう
なるほどね、それで行けるかありがとう
469デフォルトの名無しさん (ワッチョイ 3369-iztn)
2024/12/16(月) 18:18:31.53ID:o/MtQx1A0 >>466
自分の知識だと外に置くくらいしか思いつかんかった
自分の知識だと外に置くくらいしか思いつかんかった
470デフォルトの名無しさん (ワッチョイ 666d-1w4P)
2024/12/16(月) 18:20:09.41ID:/03Ox5VG0 TCHARは_UNICODEのマクロの定義の有無によって16bitまたは8bitになる
471はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f32-aNNs)
2024/12/16(月) 18:26:34.86ID:26oXJeTE0 >>467
> ただのsizeof(buf)じゃだめ?
だめ。
TCHAR はコンパイル時に ANSI モードか Unicode モードかで定義が切り替わる。
ANSI モードのときは char で Unicode モードのときは WCHAR と同じ。
_stprintf_s も ANSI モードのときは sprintf_s に置き換えられて Unicode モードのときは swprintf_s になる。
swprintf_s のときの第一引数は文字数 (この場合は UTF-16 でのコードポイントの数) なのでバイト数である sizeof(buf) を渡しても駄目。
ANSI モードでしかコンパイルしないのであれば別に割らなくても大丈夫だけど、それならそもそも切り替えを前提としたマクロを使う必要ないしな……。
> ただのsizeof(buf)じゃだめ?
だめ。
TCHAR はコンパイル時に ANSI モードか Unicode モードかで定義が切り替わる。
ANSI モードのときは char で Unicode モードのときは WCHAR と同じ。
_stprintf_s も ANSI モードのときは sprintf_s に置き換えられて Unicode モードのときは swprintf_s になる。
swprintf_s のときの第一引数は文字数 (この場合は UTF-16 でのコードポイントの数) なのでバイト数である sizeof(buf) を渡しても駄目。
ANSI モードでしかコンパイルしないのであれば別に割らなくても大丈夫だけど、それならそもそも切り替えを前提としたマクロを使う必要ないしな……。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 20代の3割が「テレビ見ない」現実…そして静かに広がる「究極のテレビ離れ」とは [muffin★]
