La domanda praticamente dice tutto: come è possibile importare file2.vala
in file1.vala
?Come posso importare altri file in Vala?
risposta
Non lo fai direttamente. Se esegui valac file1.vala file2.vala
, è come se li avessi compilati in un unico grande file.
Se si desidera renderli riutilizzabili, probabilmente si desidera una libreria condivisa. In questo caso, si compila uno per produrre un file di intestazione C e una definizione VAPI:
valac --vapi file1.vapi -H file1.h --library libfile1.so file1.vala
Il secondo si può quindi consumare questo:
valac --pkg file1 file2.vala
Questo assume che il file VAPI è stato installato. In caso contrario, sarà necessario passare --vapidir
e la posizione in cui esiste file1.vapi
, probabilmente .
. Allo stesso modo, è necessario informare il compilatore C su dove file1.h
vive con -X -I/directory/containing
, ancora, probabilmente -X -I.
. Infine, dovrai dire al C linker dove libfile1.so
è tramite -X -L/directory/containing -X -lfile1
. Questa è una piccola piattaforma specifica e puoi correggere la differenza usando AutoMake, anche se questo è un po 'più complicato. Ragel è il solito progetto go-to su come utilizzare AutoMake con Vala.
solo per la fornitura di apmasell:
è possibile utilizzare più file utilizzando le classi e le variabili pubbliche:
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);
}
}
text.c:
#include <stdio.h>
void cfunction(const char *s)
{
puts("This is C code");
printf("%s\n", s);
}
compila con: valac class.vala main.vala text.c
come si può vedere, si può anche utilizzare codice C
- 1. Come generare file GIR dal compilatore Vala?
- 2. Posso programmare per iPhone in Vala?
- 3. Come posso importare un file JavaScript esterno?
- 4. Posso incorporare altri file in una DLL?
- 5. Vala sopravviverà?
- 6. Come posso importare un file .scss.erb in middleman4?
- 7. Come importare le funzioni da altri progetti in Python?
- 8. Python importare uno subpackage senza altri
- 9. Come posso importare sottomoduli di panda senza importare matplotlib?
- 10. Vala per plug-in pidgin
- 11. Come posso importare javax.json in Eclipse
- 12. Come posso importare java.awt.image.BufferedImage in Android Studio
- 13. Come posso importare un file esterno con TypeScript?
- 14. Come posso importare un file CSV tramite un'attività rake?
- 15. registrazione con Vala
- 16. Come importare un file enorme in PostgreSQL?
- 17. Come importare il file shape in MySQL
- 18. Come importare un file .hs in Haskell
- 19. Come importare il file Javascript in Typescript
- 20. come importare file json in mongodb?
- 21. Come posso importare un profilo iTerm2?
- 22. Come posso importare html con php?
- 23. Come posso unire altri file quando uso cx_freeze?
- 24. GUI di Vala e logica in C++
- 25. Vala per Android?
- 26. Perché non posso importare nltk?
- 27. Posso importare un file CSV e inferire automaticamente il delimitatore?
- 28. Come posso importare una lib di terze parti in git?
- 29. Come posso importare il modulo sqlite3 in Python 2.4?
- 30. Come utilizzare una GUI Qt con Vala?