Oui, avec le SDK et j'ai utilisé du code C, le code source :
Code : Tout sélectionner
#include <stdio.h>
/* param devant être un const char *, vide (identique à "0") ou formé
* d'une où plusieurs valeurs séparées par des ; parmi
* 0 réinitialisation 1 haute intensité (des caractères)
* 5 clignotement 7 video inversé
* 30, 31, 32, 33, 34, 35, 36, 37 couleur des caractères
* 40, 41, 42, 43, 44, 45, 46, 47 couleur du fond
* les couleurs, suivant la logique RGB, étant respectivement
* noir, rouge, vert, jaune, bleu, magenta, cyan et blanc
*/
void PB_ADIR_Console_Title(char *title)
{
printf("\033]0;%s\007", title);
}
void PB_ADIR_Console_Color(int frontcolor, int backcolor)
{
char *String;
int n;
n=sprintf (String, "3%d;4%d", frontcolor, backcolor);
if (n > 0) printf("\033[%sm",String);
}
void PB_ADIR_Console_Inverse(void)
{
printf("\033[7m");
}
void PB_ADIR_Console_Bold(void)
{
printf("\033[1m");
}
void PB_ADIR_Console_Underline(void)
{
printf("\033[4m");
}
void PB_ADIR_Console_Normal(void)
{
printf("\033[0m");
}
void PB_ADIR_Console_Locate(unsigned int x, unsigned int y)
{
printf("\033[%d;%dH", y, x);
}
void PB_ADIR_Clear_Console(void)
{
printf("\033[H\033[2J");
// printf("\033[%d;%dH", 1, 1); printf("\033[2J");
}
le fichier .desc
Code : Tout sélectionner
; Langage used to code the library: ASM or C
; --------------------------
C
; Number of windows DLL than the library need
; --------------------------
0
; Library type (Can be OBJ or LIB)
; --------------------------
LIB
; Number of PureBasic library needed by the library
; --------------------------
0
; --------------------------
; Help directory name
; --------------------------
ADIR_Console_Color
; Library functions (FunctionName, Arg1, Arg2, ...)
;
; First the function name. Its the name of the C function
; that should be exported to PB, without the "PB_" Prefix
; used in C. After function name a comma and a list of
; arguments seperated by comma aswell. in parentheses
; a argument description that is showed by the PureBasic IDE
; as quick help. After the parentheses a general description
; can follow.
;
; Translation table for some arguments:
; ANSI C | PureBasic
; --------------------------
; int * | Long
; byte * | Long
; int (32 bits) | Long
; char * | Long / String
; long (32 bits) | Long
; float | Float
; double | - (must be casted to float in C for now)
; char | Byte
; void | None
; short(16 bits) | Word
; --------------------------
; Return value:
; Type of return value and flags for:
; 'InitFunction' (a function which is called automatically
; at the start of a PureBasic program),
; 'EndFunction' (called at the end, for cleaning)
; and 'DebuggerCheck' (a debugger handler function for this command.)
; --------------------------
ADIR_Console_Title, string, (title$) - Change the title of the console
None
; --------------------------
ADIR_Clear_Console () - Clear the Console
None
; --------------------------
ADIR_Console_Color, long, long, (frontcolor.l, backcolor.l) - Change the color of the console
None
; --------------------------
ADIR_Console_Locate, long, long, (x.l, y.l) - Locate at position x and y
None
; --------------------------
ADIR_Console_Inverse () - Inverse the color (black character on white background)
None
; --------------------------
ADIR_Console_Normal () - Back to normal
None
; --------------------------
ADIR_Console_Bold () - Set Bold intensity
None
; --------------------------
ADIR_Console_Underline () - Underline
None
; --------------------------
Et le makefile
Code : Tout sélectionner
# PureBasic library makefile
#
OPT = -O3
INCLUDE =
OBJS = Lib_color.o
String: $(OBJS)
ar rvs Lib_color.a *.o
/home/flaith/1-Programs/purebasic430b4/compilers/pblibrarymaker Lib_color.desc /TO /home/flaith/1-Programs/purebasic430b4/purelibraries/userlibraries/
# /home/flaith/1-Programs/purebasic430b4/compilers/pblibrarymaker Lib_color.desc /TO /home/flaith/1-Programs/purebasic430b4/purelibraries/
Lib_color.o: Lib_color.c
gcc -c $(OPT) $(INCLUDE) Lib_color.c
clean:
rm *.o
D'ailleurs, Progi, je suis entrain de voir ton soucis concernant ta lib car compilation + génération lib ca marche mais le soucis reste toujours lors de l'utilisation de tes fonctions (ref indéfinie ...)
