| Автор | Съобщение |
|---|
череша
Присъединил се: 19 юли 2005 Мнения: 3
| 25 август 2005 7:01 Функция Указатели в C | | |
|
| Къде и в какви ситуации можем да използвате функцията насоки на С в Embedded?
Може ли някой обясни?
Благодаря ..... Череша |
|
| Обратно към началото | |
 |
Google AdSense

| 25 август 2005 7:01 Реклами | | |
|
|
|
|
| Обратно към началото | |
 |
IanP
Присъединил се: 05 октомври 2004 Мнения: 6454 Подпомогнат: 1535 Местоположение: Уест Коуст
| 25 август 2005 7:24 Re: Функция Указатели в С | | |
|
| | Цитат: | | Указатели към функции не са толкова чести, както други показалка употреби. Въпреки това, една обща употреба е в минаваща указатели към функция като параметър във функцията повикване. | http://www.cs.cf.ac.uk/Dave/C/node12.html С уважение, IanP |
|
| Обратно към началото | |
 |
echo47
Присъединил се: 07 април 2002 Мнения: 4206 Подпомогнат: 566
| 25 август 2005 8:13 Функция Указатели в C | | |
|
| | Друга обща молба е повикване функция. Например, вие искате да се обадите на вашия Windows аудио рекордер функция всеки път, когато Windows получава някои извадки от микрофон. Даваш Windows една показалка към аудио рекордер функция. |
|
| Обратно към началото | |
 |
мат
Присъединил се: 26 февруари 2004 Публикации: 489 Подпомогнат: 35 Местоположение: Тоалетна Сеат
| 25 август 2005 13:23 Re: Функция Указатели в С | | |
|
| Функция насоки не са често използвани в вградена C, още за PC нежелани програмиране. По същество, това е намек към дадена функция, и в зависимост от това, които функционират на показалка изтъква, вие може да изпълнява различни функции, които ще се изпълняват в същия ред на кода.
Един пример за начина на използването му е, че имате набор от функции указатели, която сочи към съобщението хендлери, всяка на различен тип съобщение, което има за цел да проведе същия индекс като послание треньор.
Така че можете да се обадите нещо подобно | Код: | fnPtr [съоб-> тип] (съоб);
| [/ код]
Добавен: Едно възможно използване на функцията насоки вградени в C, е задача, Планировчик. |
|
| Обратно към началото | |
 |
njfane
Присъединил се: 27 октомври 2004 Мнения: 15
| 26 август 2005 11:00 Re: Функция Указатели в С | | |
|
| Тя е добър избор за мястото на преминаване случай в държавната машина използвате функцията показалка, в случай, че държавната машина е прекалено много превключвате случаи. той прави програмата по-компактна. |
|
| Обратно към началото | |
 |
Bingo600
Присъединил се: 26 август 2004 Публикации: 239 Подпомогнат: 14
| 27 август 2005 14:35 Функция Указатели в C | | |
|
| Това е хубаво документ по този въпрос
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Бинго |
|
| Обратно към началото | |
 |
btbass
Присъединил се: 20 юли 2001 Мнения: 1137 Подпомогнат: 106 Местоположение: Oberon
| 10 Sep 2005 15:21 Re: Функция Указатели в С | | |
|
| Функция насоки са много полезни при вградени системи. Както рационализирания превключвате изявление. Също така много полезен в менюто системи. Когато в менюто на разглеждане е индексът на functon показалка масив.
Например, всяка държавна функция се връща тук следващото състояние да превключите. Контролиращото код за цялата програма, в една линия!
| Код: | /*----Членка машина функции. ---*/
UI_16 режим (нищожна); UI_16 начална (нищожна); UI_16 текат (нищожна);
/*----Членка машина. ---*/
Вариант (режим = 0, като се започне, бягане);
/************************************************* ******************** * Длъжност Име: основни * Описание: Програма входна точка. Initialise спектър от постоянна функция указатели. Initialise държавната машина за режим на готовност. Изпълнение на държавната машина.
************************************************** *******************/
SI_16 главната (недействителни) ( UI_16 (* const Motor_State []) (нищожна) = (режим, като се започне, бягане); UI_16-членка = режим;
за (;;){ STATE = Motor_State [държавата] (); / * разговор държавна функция * / ) )
/*--- Края на файла. ---*/
|
|
|
| Обратно към началото | |
 |
raj_rohit10
Присъединил се: 14 юли 2004 Публикации: 113 Подпомогнат: 1
| 13 Сеп 2005 7:19 Re: Функция Указатели в С | | |
|
| привет най-доброто използване на функцията показалка какво чувствам е implimentation на ФЩМ и както е казал erlier 2рият се обадиш функция. |
|
| Обратно към началото | |
 |
abhishek_elec
Присъединил се: 09 Сеп 2005 Мнения: 15 Подпомогнат: 1 Местоположение: Индия
| 13 Sep 2005 12:42 Re: Функция Указатели в С | | |
|
| Функция насоки са полезни, когато и да има обща процедура или ALGO и U искате да използвате тази процедура на различни типове данни.
За Изп., Ако и да има добро сортиране ALGO и U искате да използвате един и същ ALGO върху номера, азбучен, стрингове или никакви данни, уредена от някои сортиране правило. В този случай, и просто трябва да напишете различни "сравни" функцията на данни за всеки вид и в основното сортирането ALGO, и ще премине функцията показалец като аргумент. По този начин, същите ALGO може да се използва от различни ЗОП според тяхната нужда. Не е необходима промяна в основното тяло на ALGO. |
|
| Обратно към началото | |
 |
yaseen
Присъединил се: 22 Януари 2006 Публикации: 9 Подпомогнат: 1
| 27 август 2006 9:33 Re: Функция Указатели в С | | |
|
| Имам currenlty използва функцията насоки в моя С проекта, който е в менюто задвижвани редактор. Целта на дисертации насоки е да се пишат ефективни, компактни и бързи код. Моят код saple е тук;
INT стойност [] = (0x1F00, / / Alt S (^ Настройка) 0x1400, / / Alt T (^ къси спортни гащета) 0x1200, / / Alt E (^ Разширения) 0x1800, / / Alt O (^ оператор) 0x2600, / / Alt L (^ Влизане) 0x1900, / / Alt P (^ Пароли) 0x2200, / / Alt G (Settin ^ GS) 0x2300 / / Alt H (^ Помощ) );
/ / ------ Указатели към функции --------------------------------- недействителни (* Извършвайте [8 ])();// Главно меню функции недействителни (* настройка [3 ])();// меню функции недействителни (* къси спортни гащета [9 ])(); недействителни (Разширения * [4 ])(); недействителни (* оператора [3 ])(); недействителни (* Влизане [2 ])(); недействителни (Пароли * [3 ])(); недействителни (Настройки * [6 ])(); недействителни (* Помощ [10 ])(); //------------------------------------------------ ---------------
Основната () ( .... / / Инициализиране funtion насоки Извършвайте [0] = ProcessSetup; Извършвайте [1] = ProcessTrunks; Извършвайте [2] = ProcessExtensions; Извършвайте [3] = ProcessOperator; Извършвайте [4] = ProcessLogging; Извършвайте [5] = ProcessPasswords; Извършвайте [6] = ProcessSettings; Извършвайте [7] = ProcessHelp; ......
/ / Прочети клавиатурата ... I = bioskey (1); ако (I) / / Ако клавиатурата готов ... ключови = bioskey (0); в противен случай продължи; / / Ако клавиатурата не е готова да продължи да гледам това
/ / Изпълнение на менюто избраните от потребителя за (к = 0; J <8; J ) ( ако (ключови == Стойност [J]) ( ако (! inProcess) ( inProcess = 1; Извършвайте [к] (); ) ) иначе ако (ключови == 0x2D00) / / Alt X пресовани ... т.е. Спри завръщане; ) .......... |
|
| Обратно към началото | |
 |