Nadir durumlarda, __LINE__
başka bir şeye verilen çizgiyi değiştirmek yararlı olabilir . Ben GNU yapılandırmak bazı testler için orijinal kaynak dosyalarında görünmeyen satırlar arasında bazı voodoo ekledikten sonra uygun satır numaralarını bildirmek için yaptığını gördüm. Örneğin:
#line 100
Aşağıdaki satırlar __LINE__
100 ile başlayacaktır. İsteğe bağlı olarak yeni bir dosya adı ekleyebilirsiniz.
#line 100 "file.c"
Çok nadiren faydalıdır. Ancak ihtiyaç duyulursa, bildiğim alternatifler yoktur. Aslında, çizgi yerine, yukarıdaki iki formdan herhangi biriyle sonuçlanması gereken bir makro da kullanılabilir. Boost önişlemci kütüphanesini kullanarak geçerli satırı 50 artırabilirsiniz:
#line BOOST_PP_ADD(__LINE__, 50)
Ben size kullanımı hakkında sorulan beri söz faydalıdır düşünce __LINE__
ve __FILE__
. Biri C ++ 'dan yeterince sürpriz alamaz :)
Edit: @Jonathan Leffler yorumlarda bazı daha iyi kullanım durumları sağlar:
#Line ile uğraşmak, kullanıcının C kodunda bildirilen hataları kullanıcının kaynak dosyasıyla uyumlu tutmak isteyen ön işlemciler için çok kullanışlıdır. Yacc, Lex ve (evde daha fazlası) ESQL / C ön işlemcileri bunu yapıyor.