¶ÔC/C++¿É±ä²ÎÊý±íµÄÉî²ã̽Ë÷
2005-09-12 09:16
×÷ÕߣºËᦻª
³ö´¦£ºÌì¼«Íø
ÔðÈα༣º·½ÖÛ
¡¡¡¡º¯Êýmax¿´ÆðÀ´¼ò½àÃ÷ÁË£¬µ«ÊÇʵ¼ÊÉÏprintfµÄʵÏÖÈ´Ô¶±ÈÕ⸴ÔÓ¡£maxº¯ÊýÖ®ËùÒÔ¿´ÆðÀ´¼òµ¥£¬ÊÇÒòΪ£º
¡¡¡¡(1) maxº¯Êý¿É±ä²ÎÊý±íµÄ³¤¶ÈÊÇÒÑÖªµÄ£¬Í¨¹ýnum²ÎÊý´«È룻
¡¡¡¡(2) maxº¯Êý¿É±ä²ÎÊý±íÖвÎÊýµÄÀàÐÍÊÇÒÑÖªµÄ£¬¶¼ÎªintÐÍ¡£
¡¡¡¡¶øprintfº¯ÊýÔòûÓÐÕâôÐÒÔË¡£Ê×ÏÈ£¬printfº¯Êý¿É±ä²ÎÊýµÄ¸öÊý²»ÄÜÇáÒ׵ĵõ½£¬¶ø¿É±ä²ÎÊýµÄÀàÐÍÒ²²»Êǹ̶¨µÄ£¬ÐèÓɸñʽ×Ö·û´®½øÐÐʶ±ð£¨ÓÉ%f¡¢%d¡¢%sµÈÈ·¶¨£©£¬Òò´ËÔòÉæ¼°µ½¿É±ä²ÎÊý±íµÄ¸ü¸´ÔÓÓ¦Óá£
¡¡¡¡ÏÂÃæÎÒÃÇÒÔʵÀýÀ´·ÖÎö¿É±ä²ÎÊý±íµÄ¸ß¼¶Ó¦Óá£
¸ß¼¶Ó¦ÓÃ
¡¡¡¡ÏÂÃæÕâ¸ö³ÌÐòÊÇÎÒÃÇΪijǶÈëʽϵͳ£¨¸ÃϵͳÖÐCPUµÄ×Ö³¤Îª16룩±àдµÄÔÚÆÁÄ»ÉÏÏÔʾ¸ñʽ×Ö·û´®µÄº¯Êý
DrawText£¬ËüµÄÓ÷¨ÀàËÆÓÚint printf ( const char *format, ...
)º¯Êý£¬µ«ÆäÊä³öµÄÄ¿±êΪǶÈëʽϵͳµÄÒº¾§ÏÔʾÆÁÄ»£¨LED£©¡£
///////////////////////////////////////////////////////////////////////////////
// º¯ÊýÃû³Æ: DrawText
// ¹¦ÄÜ˵Ã÷: ÔÚÏÔʾÆÁÉÏ»æÖÆÎÄ×Ö
// ²ÎÊý˵Ã÷: xPos ---ºá×ø±êµÄλÖà [0 .. 30]
// yPos ---×Ý×ø±êµÄλÖà [0 .. 64]
// ... ¿ÉÒÔͬÊý×ÖÒ»ÆðÏÔʾ£¬ÐèÉèÖñêÖ¾(%d¡¢%l¡¢%x¡¢%s)
///////////////////////////////////////////////////////////////////////////////
extern void DrawText ( BYTE xPos, BYTE yPos, LPBYTE lpStr, ... )
{
¡¡BYTE lpData[100]; //»º³åÇø
¡¡BYTE byIndex;
¡¡BYTE byLen;
¡¡DWORD dwTemp;
¡¡WORD wTemp;
¡¡int i;
¡¡va_list lpParam;
¡¡memset( lpData, 0, 100);
¡¡byLen = strlen( lpStr );
¡¡byIndex = 0;
¡¡va_start ( lpParam, lpStr );
¡¡for ( i = 0; i < byLen; i++ )
¡¡{
¡¡¡¡if( lpStr[i] != ’%’ ) //²»ÊǸñʽ·û¿ªÊ¼
¡¡¡¡{
¡¡¡¡¡¡lpData[byIndex++] = lpStr[i];
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡¡¡switch (lpStr[i+1])
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡//ÕûÐÍ
¡¡¡¡¡¡¡¡case ’d’:
¡¡¡¡¡¡¡¡case ’D’:
¡¡¡¡¡¡¡¡¡¡wTemp = va_arg ( lpParam, int );
¡¡¡¡¡¡¡¡¡¡byIndex += IntToStr( lpData+byIndex, (DWORD)wTemp );
¡¡¡¡¡¡¡¡¡¡i++;
¡¡¡¡¡¡¡¡¡¡break;
¡¡¡¡¡¡¡¡¡¡//³¤ÕûÐÍ
¡¡¡¡¡¡¡¡case ’l’:
¡¡¡¡¡¡¡¡case ’L’:
¡¡¡¡¡¡¡¡¡¡dwTemp = va_arg ( lpParam, long );
¡¡¡¡¡¡¡¡¡¡byIndex += IntToStr ( lpData+byIndex,
Ïà¹ØÎĵµ£º
#ifndef _PPC_BOOT_STRING_H_
#define _PPC_BOOT_STRING_H_
#include <stddef.h>
extern char *strcpy(char *dest, const char *src);
extern char *strncpy(char *dest, const char *src, size_t n);
extern char *strcat(char *dest, const char *src);
extern int strcmp(const char *s1, const cha ......
¡¡¡¡ÉñºõÆä¼¼£¬Î©C³ÌÐò£¬¹¦µ½×Գɣ¬Ê®´ó½¨Ò飡
¡¡¡¡1¡¢ÈêӦƵ·±´ß¶¯lint¹¤¾ß£¬¾ÝÆäÓï·¨ÉùÃ÷ÐÞϰÄÚÁ¦£¬´ËʽÔÒòlint֮˼ÂǾö¶ÏʵԶÔÚ¾ýÉÏ¡£
¡¡¡¡
¡¡¡¡2¡¢²»¿ÉÒÀËæNULLÖ¸Õ룬ÈçÈô²»È»£¬»ìãç³Õµß±ØÙ¹¾ýÓڱ˰¶¡£
¡¡¡¡
¡¡¡¡3¡¢×ÝÓÐÌ츳´óÖǻۣ¬ÖªÏþÆäÊÂÎÞ°£¬ÈêÒ൱¾¡ÊýÇ¿ÖÆÅ²ÒÆº¯Êý²ÎÊýΪÔÐÍËùÆÚÖ®Êý¾ÝÀàÐÍ£¬ÒÔÃâÒ» ......
ǰÁ½ÌìÔÚÍøÉÏ¿´µ½¡¶Cר¼Ò±à³Ì¡·Õâ±¾ÊéµÄÆÀ¼Û»¹²»´í£¬¾ÍÈ¥ÊéµêÂòÁËÒ»±¾»ØÀ´Åõ¶Á£¬Ã¿ÌìÍíÉÏ¿´Ò»Ð©¡£Ì½ÌÖµÄÎÊÌâȷʵ±È½ÏÉ¶¼ÔÚÌÖÂÛCÓïÑÔ±¾ÉíµÄÎÊÌâÁË¡£Ìáµ½ÁËCÓïÑÔÖеÄһЩ²»×ã¡£±¾À´ÈÏΪCÓïÑÔÊÇÎÞи¿É»÷µÄ£¬¿É´Ó×÷ÕߵĽǶȿ´À´£¬È·ÊµÓÐЩ²»Í׵ĵط½£¬ÏëÏëÒ²ÊÇ£¬ÄÄÓÐÍêÃÀÎÞȱ¶«Î÷ÄØ¡£Æäʵ×÷ÕßÒ²²¢·ÇÔڱᵠ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. normvideoº¯Êý
mallocº¯ÊýµÄ¹¦ÄÜÊÇÑ¡ÔñÕý³£ÁÁ¶È×Ö·û£¬ÆäÓ÷¨Îª£ºvoid normvideo(void);³ÌÐòʵÀýÈçÏ£º
#include < ......
Cº¯ÊýÒªÔÚ³ÌÐòÖÐÓõ½ÒÔÏÂÕâЩºê:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
va_list:ÓÃÀ´±£´æºêva_start¡¢va_argºÍva_endËùÐèÐÅÏ¢µÄÒ»ÖÖÀàÐÍ¡£ÎªÁË·ÃÎʱ䳤²ÎÊýÁбíÖеIJÎÊý£¬±ØÐëÉùÃ÷
& ......