C++ Builder 10.2 Tokyo > psapi.hを使う > #pragma comment(lib, "psapi.lib")は追加不要 (XE4から10.2Tokyoへの移行)
4685 ワード
動作環境
RAD Studio 10.2 Tokyo Update 2
関連
- c++ builder > アプリ使用メモリの確認 > GetProcessMemoryInfo()使用 > WorkingSetSize: DLLの使用分を含んだメモリ使用量
- c++ builder XE4 > psapi.hを使う > #include 以外に#pragma comment( lib, "psapi.lib" )を追加
XE4ではpaspi.hで定義されたGetProcessMemoryInfo()などを使うときにエラーが出ていた(上記リンク参照)。
そのエラー対策として#pragma comment(lib, "psapi.lib")
を追加するようにしていた。
10.2 Tokyoでは#pragma comment(lib, "psapi.lib")
を追加しなくても実行時エラーは出ないようだ。
Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <psapi.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int LSize;
PPROCESS_MEMORY_COUNTERS LProcessMem;
int LMemUsed;
LSize = sizeof(PPROCESS_MEMORY_COUNTERS);
bool res = GetProcessMemoryInfo(GetCurrentProcess(), LProcessMem, LSize);
if (res) {
LMemUsed = LProcessMem->WorkingSetSize;
}
LMemUsed = LMemUsed / 1024; // to KB
LMemUsed = LMemUsed / 1024; // to MB
String msg = IntToStr(LMemUsed) + L" used";
OutputDebugString(msg.c_str());
}
//---------------------------------------------------------------------------
Author And Source
この問題について(C++ Builder 10.2 Tokyo > psapi.hを使う > #pragma comment(lib, "psapi.lib")は追加不要 (XE4から10.2Tokyoへの移行)), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/0abbb3697e7770c86867著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .