

全くの超入門者です
ですが、どうしてもやりたいことがあります
タイトル通りなんですが、実行ファイルの容量を減らしたいです
Releaseとかいろいろやって、16KB程度まで落としたのですが
色々とみると、容量が小さいのを良く見かけます
なので、ライブラリを全て無視したところ、実行ファイルが1KBまで
減少できました
しかし、これをすると
main.obj : error LNK2001: 外部シンボル "_printf" は未解決です
Release/main.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー
というエラーが出てきてしまいます
ソースはこのようになっています
#include <stdio.h>
#include <windows.h>
main(){
printf("sss");
}
mainCRTStartup (HINSTANCE hInstance,DWORD fdwReason,PVOID pvReserved){
return TRUE;
}
本当に超入門者なんで、こんなことやっても違うことやって知識身につけろといいたいかもしれませんが
せめて簡単なやり方だけでもお願いします
いつか使用したいので..
No.2ベストアンサー
- 回答日時:
アセンブラで全て書くか、
http://www.vector.co.jp/soft/win95/util/se184855 …
↑ここに UPXMask というソフトがあります。UPXMask はバイナリを圧縮します。実行時に圧縮ソフトもいらないので結構使えますよ。
ソースレベルでサイズを落とすのには限界があるのでこういうツールを使うのも手かと。
す、すごい!
C++以外でもこれは使用できるんですね!
C++もそうでしたが、他のやつでも困ってたんで丁度良かったです
早速使わせてもらいました!ありがとうございます!
No.1
- 回答日時:
それはそうでしょう。
printfを使うためのライブラリを無視してしまえばエラーが出るのはあたりまえです。
空のmainCRTStartupを自分で定義する場合、Cランタイム関数も使用することが出来ないと思ったほうがいいです。
名前のとおり、Cランタイムの起動時処理を行う関数ですし。
なんで、実行ファイルを小さくするテクニックとしては、
Cランタイムを使わず、Windowsであれば、WindowsAPIのみでプログラムを作成すればいいでしょう。
WinAPIはDLL中に存在するのでなのでリンクを行うだけで使用可能です。
どうもありがとうございます!
mainCRTStartupはそういうやつだったんですね、
それじゃあprintfも使用できないわけですね~
ありがとうございます!では早速そのやり方を実行させてもらいます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- C言語・C++・C# (C言語)めちゃくちゃな値になってしまいます。 5 2022/08/13 11:55
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# プログラミングペーパーテスト 次の問題の実行結果を答えろ #include int x[ ] = { 1 2022/06/16 21:49
- C言語・C++・C# プログラミングの授業のペーパーテスト 実行結果を答えろ #include int x[ ] = {1 3 2022/06/16 20:08
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語ソースのオラクルコンパイ...
-
外部依存関係について
-
コンパイルエラー
-
LNK2019: 外部シンボル どのよ...
-
「猫でもわかるwindowsプログ...
-
MFC C++ と C++/CLI の文字列
-
VC++/MFCで error LNK2001
-
エラーの内容教えてください
-
LNK2019: 未解決の外部シンボル...
-
python エラー
-
[COBOL] ソースの復帰
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
VB6のデバッガ?強制終了?につ...
-
Visual C++でコンパイルしたも...
-
” OS ビルド ” の意味が分か...
-
セグメンテーション違反について
-
64ビットのlinuxで32ビットメモ...
-
ソフトの開発言語を調べる方法
-
visual studio2019でデバッグが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
外部シンボルの未解決のエラー
-
LNK2019: 外部シンボル どのよ...
-
error LNK2001について
-
MFC C++ と C++/CLI の文字列
-
wsprintfのエラーについて
-
未解決の外部シンボル
-
PathIsDirectoryを使って
-
LNK2001(Pro*c)
-
C言語のエラー LNK1120: 外部参照
-
エラー 未解決の外部シンボル
-
C++ Builderでユニットの追加
-
パブリックシンボルとは?
-
IP Helper APIを使うとエラーが...
-
C++の関数をfortranから呼びた...
-
LNK2019: 未解決の外部シンボル...
-
『外部シンボル~未解決です。...
-
gdiplusのリンクエラー
-
このプログラムを動かしたいの...
おすすめ情報