Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Makro panjang bisa sulit dibaca. Visual Studio sekarang dapat memperluas makro C dan C++. Anda bisa mendapatkan salinan di clipboard seperti apa makro yang diperluas, mengganti makro sebaris dengan ekspansinya, dan langkah demi langkah memperluas makro untuk melihat seperti apa tampilannya di setiap tahap ekspansi. Dalam artikel ini, Anda bereksperimen dengan semua fitur ini.
Prasyarat
- Visual Studio versi 17.5 atau yang lebih baru
Membuat sampel
Mulai Visual Studio 2022, versi 17.5 atau yang lebih baru, dan buat aplikasi Konsol C++.
Ganti kode default dengan:
#include <iostream> #define MASS 10.0 #define ACCELERATION 20.0 #define SPEED 5.0 #define TIME 2.0 #define DISTANCE() (SPEED * TIME) #define FORCE()(MASS * ACCELERATION) #define WORK()(FORCE() * DISTANCE()) #define POWER()(WORK()/TIME) int main() { std::cout << "Distance: " << DISTANCE() << std::endl; std::cout << "Force: " << FORCE() << std::endl; std::cout << "Work: " << WORK() << std::endl; std::cout << "Power: " << POWER() << std::endl; }
Menyalin makro yang diperluas
Anda dapat memeriksa nilai makro yang diperluas, bahkan ketika beberapa langkah prapemrosesan terlibat, dengan menggunakan langkah-langkah berikut:
Tempatkan kursor pada
POWERmakro di dalammain()contoh.Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online:
Jendela makro terbuka pada DAYA untuk menunjukkan bahwa jendela tersebut diperluas ke (((10,0 * 20,0) * (5,0 * 2,0)) / 2,0). Opsi untuk menyalin, memperluas sebaris, ekspansi visual, dan pencarian online muncul di bagian bawah jendela.
Pilih Salin.
Buat komentar mengikuti
POWERbaris dan pilih tempel (CTRL+V). Perluasan makro, yang muncul sebagai komentar di dekat makro Anda, terlihat seperti:// (((10.0 * 20.0)* (5.0 * 2.0)) / 2.0). Pintasan keyboard untuk tindakan ini adalah CTRL+M, CTRL+C.
Memperluas makro sebaris
Gunakan langkah-langkah berikut untuk memperluas makro sebaris, yang mengganti makro dengan ekspansinya:
- Tempatkan kursor pada
POWERmakro di dalammain()contoh. - Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online
- Pilih Perluas Sebaris.
POWER()Makro diganti dengan nilai yang diperluas:std::cout << "Power: " << (((10.0 * 20.0) * (5.0 * 2.0)) / 2.0) << std::endl;. Pintasan keyboard untuk tindakan ini adalah CTRL+M, CTRL+I.
Memvisualisasikan ekspansi makro
Anda dapat memperluas makro satu langkah pada satu waktu. Ini berguna ketika ada makro berlapis dan Anda ingin melihat ekspansi langkah demi langkah. Untuk memvisualisasikan ekspansi makro untuk WORK makro, gunakan langkah-langkah berikut:
Tempatkan kursor pada
WORKmakro di dalammain()contoh.Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online.
Pilih Visualisasikan Ekspansi. Pintasan keyboard untuk tindakan ini adalah CTRL+M diikuti oleh CTRL+V.
Jendela ekspansi makro muncul. Perluasan
WORKmakro pertama terlihat: :(FORCE() * DISTANCE())
Jendela visualisasi makro terbuka pada FORCE untuk menunjukkan bahwa jendela awalnya meluas ke (FORCE()*DISTANCE()). Ada tanda kurung sudut tunggal di jendela untuk bergerak maju dan mundur satu ekspansi pada satu waktu. Tanda kurung sudut ganda sepenuhnya diperluas atau sepenuhnya membatalkan ekspansi makro.
Klik tanda kurung sudut kanan untuk memperluas
FORCEmakro. Jendela sekarang menunjukkanFORCEekspansi makro:(MASS * ACCELERATION) * DISTANCE().Klik kurung sudut kanan untuk memperluas langkah lain. Jendela sekarang menunjukkan
FORCEekspansi makro:((10.0 * ACCELERATION) * DISTANCE()).
Lanjutkan untuk memperluas makro untuk melihat ekspansi WORK penuh makro, yaitu: ((10.0 * 20.0) * (5.0 * 2.0)).
Anda dapat menggunakan tanda kurung sudut ganda untuk sepenuhnya memperluas makro, atau untuk membalikkan ekspansi ke tingkat ekspansi pertama.