1 名前:デフォルトの名無しさん [2018/09/19(水) 17:56:50.83 ID:XSTNMnDwa.net] 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言語なら俺に聞け 147 mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
231 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 18:04:59.62 ID:JEmRy2N3M.net] ただの木構造でわ?
232 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 22:36:13.96 ID:eFHr5qJjM.net] >>223 自己レス 英語で検索したらみつかりました。 https://www.geeksforgeeks.org/print-all-permutations-of-a-string-with-duplicates-allowed-in-input-string/
233 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 23:35:26.40 ID:/Z9skFPV0.net] >>225 普通はcarとcdrで再帰降下して、重複を取り除く為にアホみたいにN^2/2回比較して終わり。 この単純実装で十分だと思うけどね。メモリ食うけど。 そのサイトの実装は、速そうには見えないけど、メモリは食わないね。
234 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 11:39:13.66 ID:sI9HCV5SM.net] >>226 再帰使ったコードどこかに落ちてない? 自分で書く能力ないので既成品で速度比較してみたい。
235 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 13:48:31.42 ID:4xZhtJ+zM.net] 自分で書いた方はえーわ そして書けないってまずいわ さらに自分で考えないってもっとまずいわ
236 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 19:20:45.10 ID:A0N9+kL10.net] >>227 Cでその態度はグーで殴られるだろう。 なお225、再帰時に毎回sortして重複枝を刈れば、列挙後の比較は不要となりメモリは食わない。 ほぼ224と同じになるが、これが最速でもっとも簡素な気がする。 224は単純に全降下ではなくswapして降下先を選んでいるが、これの利点はよく分からん。
237 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:34:27.02 ID:4xZhtJ+zM.net] >>226 carとcdrってCでも使う言葉なの? 最近scheme初めて知ったんだけど
238 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:37:06.69 ID:CZcrESgD0.net] >>230 >carとcdrってCでも使う言葉なの? あんまり聞かない…
239 名前:デフォルトの名無しさん [2018/09/25(火) 22:37:56.77 ID:Ig86RmNy0.net] OSの体系的な質問で申し訳ないんですけど VisualStudioで作ったC言語の計算アプリがあるんですけど これはMacでも動くんでしょうか? それともMacにいったんVisualStudioをインストールしないと駄目なんでしょうか? 聞くに、C言語は低級言語なので動かないOSはない、C言語自体が完全ネイティブ環境 だとも聞いたのですがどうでしょう?
240 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:42:03.59 ID:1135EyDF0.net] コマンドラインで起動するコンソールアプリで C言語の標準的関数しか使っていないなら ほぼそのまま動かせると思いますが、 Windows固有のAPI使っている場合は 手直ししないと無理かと思います
241 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:42:10.10 ID:CZcrESgD0.net] >>232 main() を定義しているファイルをここ https://www.ideone.com に晒してくだされば、判断いたしましょう
242 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:44:39.75 ID:fKl9B6Sya.net] VS for Macとかコードの互換性あるんでねえの? バイナリは別としてさ。
243 名前:デフォルトの名無しさん [2018/09/25(火) 22:50:44.42 ID:Ig86RmNy0.net] >>233 うん???www WindowsAPIってのはC言語で実装されてるから問題ないのでは?
244 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 22:54:26.26 ID:1135EyDF0.net] WindowsAPI毎Macに移植するのであれば、動くかも知れませんね
245 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:06:10.30 ID:CZcrESgD0.net] >>236 >WindowsAPIってのはC言語で実装されてる win32api(≒WindowsAPI) は C から呼び出せるようになっているのではありますが、 win32api の実体が存在するかどうかは、また別の話になります mac にて windows 向けのコードを実行させるための手段があるかどうかは、私にはよくわかりません (wine とかが移植されているのですか?)
246 名前:デフォルトの名無しさん [2018/09/25(火) 23:09:30.90 ID:Ig86RmNy0.net] >>238 WindowsAPIを書いてる言語はバイナリってことですか?
247 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:18:34.02 ID:HAbRzuEs0.net] ソースコード全部をgithubに乗せれば話は早いです 要するに、現物を見るのが手っ取り早いです
248 名前:デフォルトの名無しさん [2018/09/25(火) 23:18:38.51 ID:SjmRGAva0.net] CPU OS ソースコード 実行ファイル ライブラリ API この辺の理解がごっちゃになってるな もしくは釣り
249 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:23:33.73 ID:1135EyDF0.net] 試しに、VCではなく、GCCコンパイラ使って、 ソース修正せずに実行プログラムが作成出来るかな?
250 名前:デフォルトの名無しさん [2018/09/25(火) 23:37:13.97 ID:Ig86RmNy0.net] >>241 釣りではないです 大学では バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) の順番で言語規模が高性能化するって習いました 高級言語→C言語にするには実行環境が必要
251 名前:ナすが そもそもC言語であるならば、OSが直接読み込める形であるのだから どんなOSでも動くという理解です。 間違っていますか? 大学でしないといけないのはプログラミングではなく言語体系についての 理解をレポートにしなきゃならないので [] [ここ壊れてます]
252 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:41:58.98 ID:Jw6NGqaL0.net] 中学生が背伸びしてるのかと思ったが大学生かよ。
253 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:42:20.18 ID:AGUJmjmE0.net] >大学では >バイナリ→アセンブリ→C言語→WinAPIやJava→高級言語(DirectXなどのライブラリ) →統合環境(VisualStudio) >の順番で言語規模が高性能化するって習いました どんな教育だよ...
254 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:46:38.07 ID:J8LSZpTD0.net] >>243 その言語や環境の並び、ざっくりしすぎというか突っ込みどころ満載でどこから訂正していいか困るレベルだよ。 テキストや教師がもんだいなのか、君がの理解不足でおかしなまとめ方をしてるのか…
255 名前:デフォルトの名無しさん [2018/09/25(火) 23:46:38.88 ID:xp1IDT0a0.net] 訂正するのがめんどいぐらいいっぱいまちがってる
256 名前:デフォルトの名無しさん [2018/09/25(火) 23:53:43.26 ID:Ig86RmNy0.net] >>247 どこらへんが間違ってますか? 間違いは財産です。教えてください。
257 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:54:12.64 ID:HAbRzuEs0.net] >C言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動く しゅごい
258 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:55:06.09 ID:AGUJmjmE0.net] >高級言語→C言語にするには実行環境が必要ですが 「そもそもC言語であるならば、OSが直接読み込める形であるのだから >どんなOSでも動くという理解です。 C言語は各マシンそれぞれのCPUやOSに対応した適切なコンパイラとAPIでコンパイルしないと動きません。
259 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 23:57:02.58 ID:J8LSZpTD0.net] >>243 まったく自分でプログラミングしてないなら実感沸かなくて当然なのだろうけど、その課題意味あるのかな。 それはともかく。 Cで書いたプログラムならどのOSでも 動く訳ではない。 Cで書かれたコードはOSぎ直接理解できるわけではない。そこでCのコードをOS上で実行できるコード(君の分類ではバイナリ)に変換する作業がいる。 その際、ターゲットとするCPUに合わせたコードに変換するから、違う種類のCPUの環境では動かない。 また、OSに関する機能は全部を自分の生成するプログラムに内包する訳ではなくて、OS側ですでに用意してあるプログラムを呼び出すだけだから、他のOSに自分のプログラムを持っていったら、呼び出す先のプログラムが存在しないので実行できないことになる。
260 名前:デフォルトの名無しさん [2018/09/25(火) 23:58:21.66 ID:Ig86RmNy0.net] >>250 正しいのでしょうがよく分かりません C言語のほうが低級なのに、高級のWinAPIでコンパイルするんですか? 矛盾してるような… WinAPIはコンパイルされる側のような…
261 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:02:36.99 ID:HESLqYz40.net] >>252 前提の理解が間違っているというか、APIが何者かまったくわかっていないよね。 winAPIはwindowsが予め用意してくれている機能で、一般のプログラマがコンパイルするものではない。 自分のプログラムをコンパイルするときに、くっ付けて使わせてもらうもの。
262 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:03:04.81 ID:h9A6ffHl0.net] WindowsAPIはAPIであってプログラミング言語ではないので言語的な高級度は定義できません。
263 名前:デフォルトの名無しさん [2018/09/26(水) 00:05:27.24 ID:I4Gvy1+q0.net] すいませんまったく理解できなくてすいません 低級言語っていうのは、できることは単純だが速度が速いという認識です。 バイナリになると一切無駄が無いので実質、最速の言語だということも知っています。 APIという高度な機能をもってC言語をコンパイルするというのがなぞすぎます。 すでに単純な命令を何故コンパイルという時間のかかる処理を施すのでしょうか?
264 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:06:52.76 ID:HY3LojxY0.net] >>243 > 大学では お前の大学の講義資料のURLを晒せ。 今時の大学なら(学外から見えるかはさておき)普通は上げてるだろ。 おかしいのがお前の頭か講義資料か先生かは切り分け出来る。
265 名前:デフォルトの名無しさん [2018/09/26(水) 00:08:13.65 ID:nZ7x0XR+0.net] まずいまどきアセンブラなんか手書きでなんか書かない C言語をコンパイルするとアセンブルしてしてアセンブラをコンパイルする す
266 名前:驍ニ実行モジュールができる(コレがチミがバイナリと読んでるものになる) WinAPIやDirectX APIはOSが提供するアプリケーションインターフェースになる それをさっき書いたC言語から利用することができる で、C言語に限定されないが、そういった開発を 知恵遅れでもできる環境を提供するのがIDEとよばれるものだ 当然、viでコードやmakefileをシコシコ書いてコンパイルするのもありだが 今時いちいちそんなめんどいコトやってるヤツは希少種といっていい とりあえず今ココではJavaはおいとく [] [ここ壊れてます]
267 名前:デフォルトの名無しさん [2018/09/26(水) 00:09:35.96 ID:I4Gvy1+q0.net] なんか根本的な事を教えてくれて泣けてきます wiki見ても端折ってばかりで理解できなかったんで嬉しいです でもそれでも分かりません…
268 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:09:53.01 ID:h9A6ffHl0.net] >>255 すみません、APIをコンパイルではなくAPIをリンクの間違いでした。
269 名前:デフォルトの名無しさん [2018/09/26(水) 00:11:25.00 ID:I4Gvy1+q0.net] 知恵遅れでもできる環境 僕が使ってるのはCygwinとVisualStudioですね 学校の課題はCygwin推奨ですが、何故かVisualStudioも入れられましたw
270 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:13:32.35 ID:OuxizmKlM.net] >>258 まず、windowsAPIはC言語等の関数として提供されてるのはわかる? そんでその関数のソースコードは公開されていない。だから、自分が書いたソースコードだけをmacに持っていってもソースコードが足りないので動かない。 仮にソースコードを手に入れたとしても、内部でwindowsのカーネル(コアとなるソフト)だけが提供している機能を利用使って実装されているから、やはりmacに持ち込むことはできない。
271 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:14:11.60 ID:HESLqYz40.net] >>260 余談だけど、半角カナにこだわりのある通称半角クンに知恵遅れとか言われても気にする必要ないぞ。彼にとってただの二人称代名詞だから。
272 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:16:23.80 ID:0JN26GcE0.net] >>257 ワイは希少種やったんか 世間じゃカーネルモジュールはどんな開発環境でやってるんや?
273 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:17:32.29 ID:h9A6ffHl0.net] オレが書いたC言語のプログラムを機械語に変換すればようやくコンピュータで実行できるようになります。 APIは既に機械語に変換されているか、オレの書いたC言語と一緒に機械に変換されてからオレの機械語と結合して使われます。
274 名前:デフォルトの名無しさん [2018/09/26(水) 00:17:40.67 ID:I4Gvy1+q0.net] >>261 まったく分かりません WinAPIがC言語が混ざったらもう何がCでAPIなのか もうわけわかりません
275 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:24.20 ID:nZ7x0XR+0.net] で、javaはコンパイルするとバイトコードに変換される で、そのできあがったバイトコードはJavaVM(コレがチミがバイナリと読んでるものになる)で動かすことができる 昔のpascalのpコードのパチモンと考えればいい そっから、さらに進んでバイトコードをjitコンパイラでコンパイルするしくみもあったりする それ使うと実行モジュール(コレがチミがバイナリと読んでるものになる)ができてしまったりもする ただ、その実行モジュールはターゲットマシンでないと動かない で、当然、javaもeclipseみたいなIDE使って開発できる わかった?
276 名前:デフォルトの名無しさん [2018/09/26(水) 00:18:39.07 ID:ZP32HEFJ0.net] >>255 低級・高級(Low-Level/High-Level)は 言語体系がハードウェア実装=CPUに近いか 人間語に近いかどうかの話で 性能とは一切関係がない (という話は確実に教科書に書いてあるはず) CPUはバイナリしか解釈しないから どんな言語を使ってもコンパイル作業が要る
277 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:22:18.55 ID:OuxizmKlM.net] >>265 とりあえず、Cで何度かプログラム書いてみたらいいんじゃないかな。 知識だけ身につけると頭でっかちになっちゃうからね。
278 名前:デフォルトの名無しさん [2018/09/26(水) 00:23:21.36 ID:I4Gvy1+q0.net] >>267 C言語は言語の中では最速だというのは教科書に書いてましたよ
279 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:24:33.00 ID:T1RBGvug0.net] >>265 Cで書いたソースの多分先頭
280 名前:t近に並んでいると思う #include で始まる行の部分だけでも公開してみて WindowsAPIの為に入っている行を取り除けば (このままではコンパイルエラーになるかも知れないが) Wacに持っていく入り口にはたどり着ける [] [ここ壊れてます]
281 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:15.28 ID:nZ7x0XR+0.net] たとえばmacで WinAPIと同じインターフェースもつ同じ機能のAPI(書くことができるかどうかは別ににして)を Cで書くとmacでwindowが動く 時間があるならついでに なんで、POSIXというもんがあるか調べてみるといい
282 名前:デフォルトの名無しさん [2018/09/26(水) 00:26:28.94 ID:I4Gvy1+q0.net] >>270 #include<stdio.h> int main(void) { 〜中身〜 } です。 int main stdio.h の二つはおまじないと聞きました
283 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:31:29.48 ID:T1RBGvug0.net] >>272 ホントにそれだけなら、そのまま Macに持って行けるんじゃないか? あとはMac側でコンパイラが使えるかどうか、だな VCでないと困る事ある? MacでやるならXcodeと言うのを使った方が良いように思うが
284 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:32:08.86 ID:OuxizmKlM.net] 最初にWindowsAPIなんて言い出したやつは出てこい!! ドッカン ゴガギーン _ ドッカン ☆ ===( ) / `∧∧_||___ ∧∧ ( )||| |(Д`) f ⌒~ || || \ | / ̄ | |/| / / | | | ヘ/\|_/ / | | ロ|ロ\/\(_ノ) ( (_ \ | | Y / | ||\ ヽ| | || | || / / | | || | ||/ /_|___| || (_(_) (__)
285 名前:デフォルトの名無しさん [2018/09/26(水) 00:32:38.48 ID:nZ7x0XR+0.net] そういうコードだったら macでコンパイルしなおせば 普通に動くハズ
286 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:06.80 ID:HESLqYz40.net] >>269 C言語が速いんじゃないんだよ。 C言語で書かれたソースをコンパイルして生成されたバイナリコードが速いんだよ。それはCPUが直接実行できる形式だから。 別に他の言語でも、コンパイルしてバイナリコードが生成できるものは、本質的にはCと同じ。 遅いのは、バイナリコードを生成せずに、その言語固有のコードを生成して、それを別のプログラムが解釈しながら実行するようなタイプの言語だよ。例えばJAVAのような。(実行時コンパイルとかはこの際おいておく)
287 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:33:58.19 ID:0JN26GcE0.net] >>272 おまじないは一個要らへんで $ cat test-printf.c int main(void) { printf("Hello\n"); return 0; } $ gcc test-printf.c 2> /dev/null $ ./a.out Hello
288 名前:デフォルトの名無しさん [2018/09/26(水) 00:34:42.00 ID:ZP32HEFJ0.net] >>269 それは教科書がおかしいか誤読してると思われる 「現代の高級言語の中では最速のバイナリをビルドできることが多い」 とかならまあありだが
289 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:18.40 ID:3GYry5Z9a.net] OSによって動くコード(アセンブリ)が違う CでもC++とかで書いたコードをコンパイルする時にその対象のOSで動くように機械語に変換される なので同じCやC++のコードでもコンパイルできれば動くプログラムが作成できる しかし、標準ライブラリ以外はその対象OS用に用意されていない場合もあるのでそういうライブラリを使用した場合コンパイルが出来ない
290 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:37:56.89 ID:tnf9UX1gM.net] ちょっと教科書名教えてくれwww
291 名前:デフォルトの名無しさん [2018/09/26(水) 00:38:29.20 ID:ZP32HEFJ0.net] てかレポート出すような講義で「おまじない」で済ますもんなのか最近は 最初の質問もexeをそのままMacに持っていって動きますか?だったのかも
292 名前:デフォルトの名無しさん [2018/09/26(水) 00:43:17.15 ID:nZ7x0XR+0.net] cygwin入ってると書いてあった きっとgccもはいってるハズ 手動でコンパイルすればすぐに実行モジュールができるハズ
293 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:01.24 ID:9UO6BO9+0.net] >>232 標準入力やファイルからテキストのデ
294 名前:ータを読んで計算してから標準出力またはファイルに出力するような ほとんど計算しかしないようなやつなら何一つ変えずにコンパイルできる可能性がある。 しかしGUIで入力を受け付けてGUIで結果表示みたいな作りの場合はその部分だけMacに合わせて変更する 必要があると思う。(もし互換性のあるライブラリがあるのであればそれをリンクすればなんとかなるが)。 [] [ここ壊れてます]
295 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 00:45:48.08 ID:9UO6BO9+0.net] しまった。リロード忘れて書いてしまった。
296 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 01:37:55.43 ID:P+3GV8ah0.net] バイナリは、各CPU に固有のもの。 intel・AT&T では逆に書く ; for intel syntax mov eax, 1 # for AT&T syntax mov $1, %eax これらを抽象化する層、仮想アセンブラのLLVM ができた C → LLVM → 機械語
297 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:25:42.64 ID:p8TYnMT50.net] テキストファイルを#includeしたりするのっておもしろそうと思った。 #include "file.txt" 使い道がほとんど思いつかんけど。 正規化されたcsvファイルなら有用かもしれない。
298 名前:デフォルトの名無しさん [2018/09/26(水) 02:56:13.26 ID:9UO6BO9+0.net] >>286 XPM や XBM フォーマットの画像ファイルは中身がテキストファイルでC言語になっているので、 プログラム中で使いたい時に #include で読むなんてことを昔やった事がある。 今でも画像を編集するソフトではそういうフォーマットに対応しているのがあるかも知れない。 あったら画像をファイルに保存後に中身をテキストエディタで見てみると良い。 XBM sei.qee.jp/docs/graphics/xbm/index.html https://en.wikipedia.org/wiki/X_BitMap XPM https://ja.wikipedia.org/wiki/XPM
299 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 02:57:00.82 ID:tnf9UX1gM.net] ただしコンパイルはできるかな?
300 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 03:16:42.67 ID:p8TYnMT50.net] XPMか。FVWMあたりのソースコード見れば実際に利用してるところがあるかもね。 なぜFVWMかと言うと ある程度小さくて読みやすいかなと思ったから。
301 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 04:48:38.00 ID:p8TYnMT50.net] ていうかさ なんで #include "file.txt" なんていうことをやろうかと思ったかというとさ, よくアプリケーションのオプションで--helpみたいなオプションがあってそれを指定すると 標準出力にヘルプ情報を吐き出すじゃない。 で,普通それを実現するには,print_help()関数みたいなのを作って その中で puts("Usage: xxx [-dx] <file>..."); ↑こういうのをずらずら書きならべると思うんだよ。 git.savannah.gnu.org/cgit/hello.git/tree/src/hello.c#n127 ←こんな風に。 で,そのヘルプファイルを外部ファイルにできないかな〜と思ってさ。 print_help() { puts(" #include "help.txt" "); return 0 } こういう感じで。もちろんこれはコンパイルエラーになるけど。
302 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 06:52:38.46 ID:ME0063O80.net] 普通にfopen(),fgets()しろよ
303 名前:デフォルトの名無しさん [2018/09/26(水) 07:02:15.89 ID:KRhEkOMN0.net] ,j;;;;;j,. ---一、 ` ―--‐、_ l;;;;;; {;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;; #include "file.txt" ヾ;;;ハ ノ .::!lリ;;r゙ `Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が ,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f. 俺にもありました ~''戈ヽ `二´ r'´:::. `!
304 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:12:11.89 ID:Ozpnqin20.net] argv[0]を使わずにusage表示するやつ嫌い
305 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:27:14.31 ID:3KpC5Lnu0.net] >>291 実行ファイル内に組み込みたいんじゃないの
306 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 07:40:06.18 ID:slacS0cU0.net] includeするファイルの拡張子が.hか.txtなんて関係ないよな。 中身がCのコードとして解釈できるかどうかだけで。
307 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:03:42.94 ID:X1sPOZNr0.net] >>293 おれは好きだよ argv[0]の長さとかわからないし、不安になるもんね
308 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:06:37.66 ID:3KpC5Lnu0.net] 独学で始めたての頃はリンカを知らなかったから、.c も全部 include してまとめてコンパイルしてたw
309 名前:デフォルトの名無しさん [2018/09/26(水) 09:48:26.11 ID:QtvShas/a.net] >>293 かといって argv[0] って必ずプログラムファイルへのフルパスの文字列になってる保証はないよな? UNIX系OSだとexecに渡す引数は実行するプログラムへのパスとargvの配列は別に指定できるしシェルは自身がログインシェルとして起動されたかどうかをargv[0]利用して判別してるし。
310 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:54:31.75 ID:+QPOg/oyM.net] 組み込みでreal型を使うメリットってなんでしょうか? floatやdouble型との違いを教えて頂けないでしょうか?
311 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 09:58:20.00 ID:wpdgBSuMa.net] 「パス」は正しくないでしょ ユーザがシェルに入力した文字列が入るわけで
312 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:04:04.84 ID:wpdgBSuMa.net] real型ってなんだ? D?
313 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 10:17:13.10 ID:Ozpnqin20.net] >>298 フルパスである必要はない そんなのはwhichで出るから重複もいいとこ
314 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:07:42.63 ID:tnf9UX1gM.net] 好きか嫌いかより規格で語れよ!!
315 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 13:15:13.67 ID:GcxNqKYyM.net] で?
316 名前:デフォルトの名無しさん [2018/09/26(水) 17:10:26.81 ID:dsR47lxwa.net] >>302 argv[0] が "-" だったらどうするよ。
317 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:10:59.41 ID:p8TYnMT50.net] まあやっぱり#include "file.txt"なんて常人は考えねーよなw いろいろすまんかった。
318 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:23:34.23 ID:T1RBGvug0.net] >>306 使い道はあるよ 多量のマクロ定義リストを読ませるとか
319 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:27:31.74 ID:lDpRvfaq0.net] ビットマップを本体のコードに埋め込むのに char data[] = { #include "bitdata.inl" }; とかやった。 bitdata.inl は別のソフトで生成
320 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:33:26.10 ID:lncCaYQKM.net] >>308 disるつもりはないし状況も分からんのだけど、バイナリデータをコードに埋め込んでコンパイルかけるのは筋が悪いような?
321 名前:デフォルトの名無しさん [2018/09/26(水) 17:35:54.43 ID:dsR47lxwa.net] XPMやXBMみたいなテキストなんだろ
322 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:36:31.54 ID:cOtTFh6NM.net] >>306 file.txt を C の文字列にした file.c なり file.h なりを作る簡単なスクリプトなり書いて、make ファイルでそれが動いて取り込まれるようにすりゃいいんじゃね。 usage: -h help -u unko みたいなテキストを #define USAGE "¥ usage:¥n¥ -h help¥n¥ -u unko ¥n¥ " みたいな define か何かにすればいい。
323 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:37:28.54 ID:T1RBGvug0.net] 大量のテーブルデータをマクロ型式で記述して includeの直前でマクロを望む内容で定義すると便利
324 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:40:44.37 ID:lDpRvfaq0.net] >>309 (Windowsの話) ライブラリを作ってるときに、そこで使いたかったんだが(ImageList) リソースというわけにもいかず、ファイルを読み込むのもライブラリ化の意図からずれるし で 埋め込んだのよ 簡単に肥大化するから筋が悪いのは半分承知
325 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:41:52.02 ID:lDpRvfaq0.net] ああ 件のファイルは 0x○○, 0x○○, … なテキストの
326 名前:tァイルです [] [ここ壊れてます]
327 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 17:50:39.66 ID:lncCaYQKM.net] >>313 ああ、なるほど。 まぁ俺も組み込みでビルド番号を自動生成してソースにincludeで組み込むこともあるので人のことは言えないけど。
328 名前:デフォルトの名無しさん [2018/09/26(水) 20:19:36.31 ID:I4Gvy1+q0.net] WindowsAPIを機械語にするソフトを機械語にするソフトを機械語にするソフトを… って考えたらまた頭が混乱してしまいました…
329 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:25:14.53 ID:07am72nua.net] APIとはインターフェースである。 見えるのは表面だけで中身なんてどうなってるかわからない。
330 名前:デフォルトの名無しさん [2018/09/26(水) 20:29:26.48 ID:I4Gvy1+q0.net] CのコンパイラはWinAPIでしかかけないってことですか?
331 名前:デフォルトの名無しさん mailto:sage [2018/09/26(水) 20:41:32.38 ID:zSos1f990.net] Advanced windows買って読め じゃ乱暴か…