Soru şu kadarını söylüyor: file2.vala
'u file1.vala
'a nasıl aktarabilirim?Vala'daki diğer dosyaları nasıl alabilirim?
cevap
Doğrudan bunu yapmıyorsunuz. valac file1.vala file2.vala
çalıştırırsanız, büyük bir dosyada derlenmiş gibi olur.
Yeniden kullanılabilir hale getirmek istiyorsanız, muhtemelen paylaşılan bir kitaplık istersiniz. Bu durumda, bir C başlık dosyası ve VAPI tanımını üretmek için birini derlemek:
valac --vapi file1.vapi -H file1.h --library libfile1.so file1.vala
ikincisi o zaman bu tüketebilir:
valac --pkg file1 file2.vala
Bu VAPI dosya yüklenmiş olduğunu varsayalım. Durum böyle değilse, --vapidir
kodunu ve file1.vapi
'un bulunduğu konumu, muhtemelen .
'u geçmeniz gerekir. Benzer şekilde, file1.h
'un -X -I/directory/containing
ile yeniden karşılaştığı C derleyicisine, muhtemelen -X -I.
'u da bildirmeniz gerekir. Son olarak, C bağlayıcıya libfile1.so
'un -X -L/directory/containing -X -lfile1
aracılığıyla olduğunu söylemeniz gerekir. Bu küçük bir platforma özgüdür ve AutoMake kullanarak farkı düzeltebilirsiniz, ancak bu biraz daha ilgili. Ragel, AutoMake'i Vala ile nasıl kullanacağınız için her zamanki gibi bir projedir.
sadece apmasell tedarik:
main.vala:
extern void cfunction(string text);
void main()
{
first f = new first();
f.say_something(f.mytext);
cfunction("c text\n");
}
class.vala:
public class first {
public string mytext = "yolo\n";
public first()
{
stdout.printf("text from constructer in first\n");
}
public void say_something(string text)
{
stdout.printf("%s\n", text);
}
}
sınıflar ve kamu değişkenleri kullanarak birden fazla dosya kullanabilirsiniz
text.c:
Eğer, hatta C kodu kullanabilirsiniz görebileceğiniz gibivalac class.vala main.vala text.c
:
#include <stdio.h>
void cfunction(const char *s)
{
puts("This is C code");
printf("%s\n", s);
}
ile derler
- 1. Web.xml'de diğer yapılandırma dosyaları nasıl eklenir
- 2. Bir Sınıfın içeriğini diğer Sınıf ile nasıl referans alabilirim?
- 3. baseUrl (ve diğer yapılandırma ayarları) bir Restangular nesnesinden nasıl alabilirim?
- 4. Dizindeki tüm dosyaları sildim. Onları nasıl geri alabilirim?
- 5. Android Studio txt, mp3 ve diğer dosyaları okuma
- 6. Visual Studio'yu her zaman değişen çözümleri, projeleri ve dosyaları yeniden yüklemek için nasıl alabilirim?
- 7. R, diğer tüm öğeleri nasıl listeleyebilir?
- 8. tarihin bir taahhüdünü nasıl alabilirim github
- 9. dosyaları
- 10. Bir klasördeki CSV'lerin listesini nasıl alabilirim?
- 11. nasıl 2 .POT dosyaları (çeviri dosyaları) birleştirebilirsiniz
- 12. Bir AlertDialog'dan sonuçları nasıl alabilirim?
- 13. Sıkıştırmadan dosyaları bir zip arşivinde nasıl listeleyebilirim?
- 14. web url'sini nasıl alabilirim
- 15. MKAnnotationView coords nasıl alabilirim?
- 16. Uzantımın kimliğimi nasıl alabilirim?
- 17. Monitör bilgilerini nasıl alabilirim?
- 18. Önceki rotamı nasıl alabilirim?
- 19. phoenix.gen.html'yi nasıl geri alabilirim?
- 20. İşlevin türevini nasıl alabilirim?
- 21. Şerit bilgilerini nasıl alabilirim?
- 22. TextView'de dili nasıl alabilirim?
- 23. Dün NSDate'i nasıl alabilirim?
- 24. İsteğin URL'sini nasıl alabilirim?
- 25. ŞablonUrl'yi $ modalInstance'dan nasıl alabilirim?
- 26. Görünümden Nasıl Parça Alabilirim?
- 27. EditText değişikliğini nasıl alabilirim?
- 28. System.Windows.Controls.Primitive.PopupRoot türünü nasıl alabilirim?
- 29. @DiscriminatorColumn() değerini nasıl alabilirim?
- 30. Takvimimden Nasıl Tarih Alabilirim?