Boost kitaplıklarının kaynak koduna bakıyordum ve genellikle bunlara herhangi bir önişlemci yönergesi eklenmemiş tek pound işaretlerinin olduğunu fark ettim. GCC önişlemci kılavuzunu ve teknik özellik kılavuzunu okudum ve bu konuda hiçbir şey bulamıyorum.
(1) #ifndef BOOST_CONFIG_HPP
(2) # include <boost/config.hpp>
(3) #endif
(4) #
(5) #if defined(BOOST_HAS_PRAGMA_ONCE)
(6) # pragma once
(7) #endif
4. satırda pound işaretinden sonra hiçbir şey yok. Bunun ne etkisi var? C ön işlemcisi (CPP) spesifikasyonunda tanımlanmış mı?
Boost, platformlar arası bir kitaplık olduğundan, herhangi bir CPP'nin onu doğru bir şekilde ayrıştırması gerektiğini varsayıyorum. Kod boyunca rastgele pound / hash işaretlerine sahip olmanın etkisi / yan etkileri ne olur?