タイトル通りの質問なのですが、一つのアプリケーションに二つにmain関数を使うことはできないのでしょうか?
なんか馬鹿な質問で申し訳ないのです。
main関数というのは関数の中で一番最初に実行されるので二つあってはならないので
絶対に二つ使うことはできないと思うのですが、何かうまくすれば使えないかな?と思いまして・・・
プログラム中でmain関数を呼び出すことは(たしか)出来ますよね?
そう考えるとmain関数を二つ作るというのもできないこともないかな?と思ったのです。
たとえば、一番最初の起動時にはCUIのコンソールアプリで実行され、
そこでユーザーがこのままコンソールで処理を続けるのか、GUIのWindowsアプリに切り替えて処理するのかを
選べたりするのは作れないのでしょうか?
逆に最初にWinアプリを起動させ、コンソールに切り替えたりとか・・・
まぁコンソールよりWinアプリの方が使いやすいし便利なのですが、
処理はコンソールの方が早かったり、コンソールの方が好きだと言うユーザーもいると思うので、
どちらも使えるようにすれば便利かな?と思いました。
一つのアプリにメイン関数を二つ
Re: 一つのアプリにメイン関数を二つ
そのようなアプリケーションを作るとしても、main関数の数とは関係がありません。あま さんが書きました:たとえば、一番最初の起動時にはCUIのコンソールアプリで実行され、
そこでユーザーがこのままコンソールで処理を続けるのか、GUIのWindowsアプリに切り替えて処理するのかを
選べたりするのは作れないのでしょうか?
おそらく あま さんのやりたい事はこれでしょう。↓
http://www.f13g.com/%A5%D7%A5%ED%A5%B0% ... %BB%A4%EB/
Re: 一つのアプリにメイン関数を二つ
>一つのアプリケーションに二つにmain関数を使うことはできないのでしょうか?
できません。
そういうコードを書いてコンパイルしてみれば、掲示板で質問するまでもなく、即座に体感できることでしょう。
>プログラム中でmain関数を呼び出すことは(たしか)出来ますよね?
これは、できます。
しかし、このことと、main関数が2個存在できるかどうかという話は、別物です。
>たとえば、一番最初の起動時にはCUIのコンソールアプリで実行され、
>そこでユーザーがこのままコンソールで処理を続けるのか、GUIのWindowsアプリに切り替えて処理するのかを
>選べたりするのは作れないのでしょうか?
コンソールアプリの実行ファイルとWindowsアプリの実行ファイルを別個に用意しておいて、
system関数か何かを使って呼び出し合う、っていう方法が使えるかもしれません。
できません。
そういうコードを書いてコンパイルしてみれば、掲示板で質問するまでもなく、即座に体感できることでしょう。
>プログラム中でmain関数を呼び出すことは(たしか)出来ますよね?
これは、できます。
しかし、このことと、main関数が2個存在できるかどうかという話は、別物です。
>たとえば、一番最初の起動時にはCUIのコンソールアプリで実行され、
>そこでユーザーがこのままコンソールで処理を続けるのか、GUIのWindowsアプリに切り替えて処理するのかを
>選べたりするのは作れないのでしょうか?
コンソールアプリの実行ファイルとWindowsアプリの実行ファイルを別個に用意しておいて、
system関数か何かを使って呼び出し合う、っていう方法が使えるかもしれません。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 一つのアプリにメイン関数を二つ
簡単に作ってみました。あま さんが書きました:たとえば、一番最初の起動時にはCUIのコンソールアプリで実行され、
そこでユーザーがこのままコンソールで処理を続けるのか、GUIのWindowsアプリに切り替えて処理するのかを
選べたりするのは作れないのでしょうか?
このサンプルはコンパイルできましたが、使う関数によってはUndefined Referenceといわれる可能性があります。
-mwindowsとやってしまうとコンソールが使えないので、一つずつライブラリをリンクする必要があるかもしれません。
- 添付ファイル
-
- gckirikae.zip
- サンプルです。
- (7.19 KiB) ダウンロード数: 140 回
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 一つのアプリにメイン関数を二つ
うわ~。返信遅れてしまって申し訳ないです・・・
仕事忙しくてなかなか手を付けられませんでした>_<
みけCATさんサンプルありがとうございます。
本来はGUIを起動したらコンソールを消したかったのですが
そこら辺はやはりコンソールがメインで動いてるので消えるわけないですね。
大体頭の中で整理できたのでこれを基に頑張ります。
仕事忙しくてなかなか手を付けられませんでした>_<
みけCATさんサンプルありがとうございます。
本来はGUIを起動したらコンソールを消したかったのですが
そこら辺はやはりコンソールがメインで動いてるので消えるわけないですね。
大体頭の中で整理できたのでこれを基に頑張ります。