/Gh (_penter kanca işlevini etkinleştir)
Her yöntem veya işlevin _penter
başında işlev çağrısına neden olur.
Sözdizimi
/Gh
Açıklamalar
İşlev _penter
herhangi bir kitaplığın parçası değildir. için _penter
bir tanım sağlamak size bağlı.
açıkça çağırmayı _penter
planlamadığınız sürece bir prototip sağlamanız gerekmez. İşlev, girişte tüm yazmaçların içeriğini göndermeli ve çıkışta değişmemiş içeriği açmalıdır. Aşağıdaki prototipe sahipmiş gibi görünmelidir:
void __declspec(naked) __cdecl _penter( void );
Bu bildirim 64 bit projelerde kullanılamaz.
Bu derleyici seçeneğini Visual Studio geliştirme ortamında ayarlamak için
Projenin Özellik Sayfaları iletişim kutusunu açın. Ayrıntılar için bkz . Visual Studio'da C++ derleyicisi ve derleme özelliklerini ayarlama.
Yapılandırma Özellikleri>C/C++>Komut Satırı özellik sayfasını seçin.
Ek Seçenekler kutusuna derleyici seçeneğini girin.
Bu derleyici seçeneğini program üzerinden ayarlamak için
- Bkz. AdditionalOptions.
Örnek
Aşağıdaki kod, /Gh ile derlendiğinde nasıl _penter
iki kez çağrıldığını gösterir; bir kez işlev main
girerken ve bir kez işlev x
girerken. Örnek, ayrı olarak derlediğiniz iki kaynak dosyadan oluşur.
Kaynak dosya local_penter.cpp
:
// local_penter.cpp
// compile with: cl /EHsc /c local_penter.cpp
// processor: x86
#include <stdio.h>
extern "C" void __declspec(naked) __cdecl _penter( void ) {
_asm {
push eax
push ebx
push ecx
push edx
push ebp
push edi
push esi
}
printf_s("\nIn a function!");
_asm {
pop esi
pop edi
pop ebp
pop edx
pop ecx
pop ebx
pop eax
ret
}
}
Kaynak dosya Gh_compiler_option.cpp
:
// Gh_compiler_option.cpp
// compile with: cl /EHsc /Gh Gh_compiler_option.cpp local_penter.obj
// processor: x86
#include <stdio.h>
void x() {}
int main() {
x();
}
Çalıştırıldığında, ve x
girişinde main
yerel _penter
işlev çağrılır:
In a function!
In a function!
Ayrıca bkz.
MSVC derleyici seçenekleri
MSVC derleyicisi komut satırı söz dizimi
/GH
(_pexit kanca işlevini etkinleştir)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin