Olası Çoğalt:
How to make a variadic macro (variable number of arguments)Tanımlanmamış sayıda parametre kabul eden bir C makrosuna sahip olabilir miyim?
Ben printf
benzer argümanları kabul eder ve bunları kaydeder temel C bir günlük makro olmasını istiyorum. Ancak, bu (vb stderr
vs, dosyayı seviyesini log) bir şey derleme zamanında ayarlanması açmış nasıl istiyorum, değil çalışma zamanı; Hiçbir şey yapmayan ve düşük seviyeli günlüğe kaydetmeyi göz ardı etmek için parametreleri ayarlıyorumsa, umarım kodun en iyisi haline getirilmiş olması ile.
Şimdiye kadar derleme zamanında tanımlanan bir parametre dışına göre tanımlanmış bir makro var. Parametre günlüğü benim günlük yöntemine gider tanımlanırsa, aksi takdirde stderr
gider (dosyalara giriş yapmak için). Ancak, yalnızca bu makroya bir dize iletebilirim. Günlük metodu belirsiz sayıda argüman alabilir ve printf
sözdizimini kullanarak çalışır. Makroyu ayarlamak için bir yol olup olmadığını bilmek istiyorum, böylece günlük dosyasına belirsiz sayıda argüman iletecek mi?
Ve cevap Temel C istediğimi elde etme başka bir yöntem (I C++ veya boost kullanamazsınız) olduğunu yapamaz şüpheli beri.