Stránka 1 z 1

mikroC PRO for AVR vs sprintf

Napsal: 12 úno 2011, 11:11
od markoni
Zdravím
Mám takový problém v helpu tohoto prostředí mikroC PRO for AVR je obsažena funkce sprintf přesto když nám Library Manageru vybrané všechny knihovny tak to řve že sprintf nezná co s tím? díky
příklad:

Kód: Vybrat vše

double ww = -1.2587538e+1;
char  buffer[15];

void main(){

  sprintf(buffer, "%12g", ww);
}

}

výsledek kompilace:

Kód: Vybrat vše


0 1 mikrocAVR.exe -MSF -DBG -pATMEGA8 -C -Y -DL -O11111114 -fo4 -N"C:\Program Files\Mikroelektronika\mikroC PRO for AVR\Examples\moje_projekty\Printout.mcpav" -SP"C:\Program Files\Mikroelektronika\mikroC PRO for AVR\defs\" -SP"C:\Program Files\Mikroelektronika\mikroC PRO for AVR\Examples\moje_projekty\" -SP"C:\Program Files\Mikroelektronika\mikroC PRO for AVR\Uses\LTE64KW\" "Printout.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_CType.mcl" "__Lib_CString.mcl" "__Lib_CStdlib.mcl" "__Lib_CMath.mcl" "__Lib_Conversions.mcl" "__Lib_Time.mcl" "__Lib_Trigonometry.mcl" "__Lib_Keypad4x4.mcl" "__Lib_Manchester.mcl" "__Lib_OneWire.mcl" "__Lib_PS2.mcl" "__Lib_Sound.mcl" "__Lib_SoftI2C.mcl" "__Lib_SoftSPI.mcl" "__Lib_SoftUART.mcl" "__Lib_ADC.mcl" "__Lib_EEPROM_eew.mcl" "__Lib_FLASH_rwe.mcl" "__Lib_PWM1_2.mcl" "__Lib_SPI_b5432_x2.mcl" "__Lib_TWI.mcl" "__Lib_UART_d01_ursel.mcl" "__Lib_PortExpander.mcl" "__Lib_CANSPI.mcl" "__Lib_CF.mcl" "__Lib_GlcdFonts.mcl" "__Lib_Glcd.mcl" "__Lib_LcdConsts.mcl" "__Lib_Lcd.mcl" "__Lib_Mmc.mcl" "__Lib_RS485.mcl" "__Lib_T6963C.mcl" "__Lib_SPIGlcd.mcl" "__Lib_SPILcd.mcl" "__Lib_SPILcd8.mcl" "__Lib_SPIT6963C.mcl" 
0 125 All files Preprocessed in 140 ms 
0 121 Compilation Started Printout.c
6 324 Undeclared identifier 'sprintf' in expression Printout.c
7 312 Internal error '' Printout.c
0 102 Finished (with errors): 12 II 2011, 10:55:28 Printout.mcpav

Napsal: 12 úno 2011, 19:28
od AB1
V library manageru je třeba zatrhnout položku "sprintf".

Napsal: 13 úno 2011, 08:04
od markoni
Já ho nemohu najít v příloze je celý Library Manager díky

Napsal: 13 úno 2011, 14:42
od AB1
Možná máš nějakou starou verzi.

Napsal: 13 úno 2011, 15:07
od markoni
Tak už jsem zjistil čím to je ta funkce jde až od Atmegy16 jelikož mám atmegu8 tak mám smůlu :twisted: ale nechápu proč ten překladač člověka vodí za nos a neinformuje že není dost paměti na tu funkci.díky

Napsal: 13 úno 2011, 17:06
od AB1
proč ten překladač člověka vodí za nos a neinformuje že není dost paměti na tu funkci
Protože se stydí za to, že sprintf() zabere 10 kB.