Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Не могу вернуть указатель из функции

Непрочитано 23.10.2014, 05:04  
HardWareMan
Частый гость
 
Регистрация: 13.07.2006
Сообщений: 34
Сказал спасибо: 6
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
HardWareMan на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от shindax Посмотреть сообщение
Просто человек когда-то, возможно, пробовал писать на Паскале.
И причем тут PASCAL? Личная неприязнь?
Реклама:
HardWareMan вне форума  
Непрочитано 23.10.2014, 05:44  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от HardWareMan Посмотреть сообщение
И причем тут PASCAL? Личная неприязнь?
Да с чего неприязнь-то? Язык, как язык. Был языком для начинающих, со временем вырос, кое-где большие коммерческие проекты на нём делают. Просто в Паскале, помнится, массив был отдельным типом. И именно паскалисты чаще всего гневаются по поводу 'паскудности' Си.

Последний раз редактировалось shindax; 23.10.2014 в 05:52.
shindax вне форума  
Непрочитано 23.10.2014, 05:49  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от akegor Посмотреть сообщение
Считаете, что нечего было программировать? Семидесятые годы - начиная от Наири-2 и прочих Проминей, до ЕС-ЭВМ. Поинтересуйтесь историей выч.техники.
Так и поинтересовался сразу. Я сказал, разве, что нечего было программировать? Я спросил человека, с чем именно он работал.
shindax вне форума  
Непрочитано 23.10.2014, 09:41  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от akegor Посмотреть сообщение
Не помню нашу Электронику 100 - какая модель - но она была на транзисторах. Гы! И было, таки, чего там программировать!
Электроника 100/25 - это была цельнотянутая МЭПом PDP11.
Транзисторы тоже в ней были, микросхем больше
Миниатюры:
Нажмите на изображение для увеличения
Название: e100_25.jpg
Просмотров: 44
Размер:	47.9 Кб
ID:	70949  
Boba_spb вне форума  
Непрочитано 23.10.2014, 09:51  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от Boba_spb Посмотреть сообщение
Транзисторы тоже в ней были, микросхем больше
У нас была в виде кубика примерно 0.8х0.8х0.8 м на столе. В нутре куча плат с транзисторными триггерами и прочей лабуденью. Большой альбом схем. А вот мелкосхем я там не помню. Был я тогда лаборантом в лаборатории "ЭЦВМ", а непосредственный трах с потрохом этого чуда техники осуществлял другой человек. Но мой нос там был.

Вспомнил "Электроника 100и", аналог PDP-8.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 23.10.2014 в 10:23.
akegor вне форума  
Непрочитано 23.10.2014, 10:18  
Boba_spb
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.06.2008
Сообщений: 1,393
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Делали АСУ - ОЗУ всего 28 килобайт !!!. Два проца у оператора, два на расстоянии метров 400 у объекта (дублированная система), цветные мнемосхемы, управляющих сигналов за 1000, аналоговых под 100 и время работы системы три недели. Команда из 6 программистов написала все с нуля - запрещено было пользовать импортный софт. Два года писали, три года на объекте пусконаладка, куча испытаний и доводка по их результатам. Потом штаная работа. Интересно было ....
Boba_spb вне форума  
Непрочитано 23.10.2014, 10:56  
hacker7
Вид на жительство
 
Регистрация: 07.01.2007
Адрес: Ленинградская обл
Сообщений: 425
Сказал спасибо: 147
Сказали Спасибо 70 раз(а) в 55 сообщении(ях)
hacker7 на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

"указатель на целое, или на массив целых, в Си это неважно,"
ничего подобного
указатель на целое В С эквивалентен самому массиву целых, а не указателю на массив целых )))
то есть int f[25]
в БОЛЬШИНСТВЕ ))))))) реализаций С то же самое что int *f
Вопрос лишь в том, в каких местах программы это то же самое, в каких нет
Мне приходилось и такое писать: &(f[0]), иначе не работало
Потому что это не стандарт, а просто всем привычное нарушение технологии программирования
(как, впрочем, и ++ а то и прибавление числа к указателю)
если кто хочет иметь переносимые и правильно работающие программы,
пишите соответствующий typedef и ссылку еготип *новая переменная...
я программу исправлять не буду принципиально
Бесполезно
уже не говорю, что наружу возвр адрес динамической пер, которая обычно расположена в стеке этой функции (и теряется, в смысле, перезаписывается после выхода из этой функции) (дьявольский смех)))
static чтольпишите или глоб перем заводите, может, есть там static и typedef...

Зачем вообще на С это писать, Вы чётко понимаете, для какой конкретно цели выбран именно этот инструмент?

С кстати тот же ПАскаль. Курите классифик. языков программирования: всё это разновидности Алгола-60 - процедурные алгебраические языки программирования. Каждый из них отвёртка, которой можно и воробьёв ловить, почему нет

Последний раз редактировалось hacker7; 23.10.2014 в 11:49.
hacker7 вне форума  
Непрочитано 23.10.2014, 11:46  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от hacker7 Посмотреть сообщение
указатель на целое В С эквивалентен самому массиву целых, а не указателю на массив целых )))
то есть int f[25]в БОЛЬШИНСТВЕ ))))))) диалектов С то же самое что int *f
А я о чём толкую??? И не "в БОЛЬШИНСТВЕ диалектов С", а во всех компиляторах Си. Или мы друг-друга не понимаем.
Код:
unsigned int func( unsigned int * ptr )
{
return * ptr ;
}
void main( void )
{
unsigned int * arr1 = {1,2,3};
unsigned int   arr2[3] = {4,5,6};
unsigned int   arr3[] = {7,8,9};
unsigned int   var = 10 ;

unsigned int  test ;

test = func( arr1 ) ; // test = 1 
test = func( arr2 ) ; // test = 4 
test = func( arr3 ) ; // test = 7
test = func( &var ) ; // test = 10
}
Не пойму, если честно, о чём Вы толкуете.

Сообщение от hacker7 Посмотреть сообщение
Потому что это не стандарт, а просто всем привычное нарушение технологии программирования (как, впрочем, и ++ а то и прибавление числа к указателю)
Не знаю, что Вы такое курите, но в Си такая работа с указателями - норма, придуманая его создателями и как там делалось в Алголе-60, вот лично мне, абсолютно до-фонаря, тем более, что ЯП Си сейчас в один из стандартов де-факто. И куда какой язык попадает при классификации ЯП, мне тоже всё-равно. И что за нарушения "технологии программирования", что это за "технология" такая вообще и кому она нужна, не поясните? Я ориентируюсь на стандарт Си, а Вы на какой?

Последний раз редактировалось shindax; 23.10.2014 в 11:50.
shindax вне форума  
Непрочитано 23.10.2014, 18:21  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Цитата:
Я ориентируюсь на стандарт Си, а Вы на какой?
И на какой стандарт СИ вы ориентируетесь? Он не один. Ещё есть МИСРА и стандарты безопасности кода. Плюс фишки компиляторописателей. Поэтому ваш спор неуместен, вы ориентируетесь на определённый тип компилятора, при полном отсутствии знаний и понимания происходящего.
Цитата:
просто всем привычное нарушение технологии программирования (как, впрочем, и ++ а то и прибавление числа к указателю
Хорошая штука, удобная. А что говорит МИСРА?
Цитата:
Pointer arithmetic should not be used. Pointers and
arrays Advisory
Рекомендация, не более.
Вы в состоянии определить риски применения арифметики, не говоря уже о рисках при переносе на другую платформу?
STM32F0 вне форума  
Непрочитано 24.10.2014, 07:42  
shindax
Прописка
 
Регистрация: 04.09.2009
Сообщений: 167
Сказал спасибо: 1
Сказали Спасибо 35 раз(а) в 25 сообщении(ях)
shindax на пути к лучшему
По умолчанию Re: Не могу вернуть указатель из функции

Сообщение от STM32F0 Посмотреть сообщение
И на какой стандарт СИ вы ориентируетесь? Он не один. Ещё есть МИСРА и стандарты безопасности кода. Плюс фишки компиляторописателей.
Я в курсе, что стандарт не один. Тот код, что я привёл, написан в стиле классического Си, с применением программных конструкций, которые пойдут почти на любом адекватном компиляторе.
Сообщение от STM32F0 Посмотреть сообщение
.Поэтому ваш спор неуместен, вы ориентируетесь на определённый тип компилятора, при полном отсутствии знаний и понимания происходящего.
С чего Вы взяли, что меня интересует Ваше мнение о моих познаниях, об уместности, или неуместности моих споров? "Не говорите, что мне делать и я не скажу, куда Вам идти"
Сообщение от STM32F0 Посмотреть сообщение
...А что говорит МИСРА?...
Про единственно верный путь мы уже слышали. Керниган писал: "Си — инструмент, острый, как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво". MISRA-C:2004 это: Guidelines for the use of the C language in critical systems, с чего вы ссылаетесь на неё, как на библию? Не все системы являются автомобильными, авиационными и жизнеобеспечивающими, а индус и по всем стандартам слепит потенциально опасный код. Есть-же электронные элементы с военного исполнения и для общего применения, никто не станет испытывать микросхему для микроволновки космическими тестами. Так-что Ваши страшилки про риски, про несоответствие чего-то стандарту МИСРА и в целом сравнение мягкого с холодным для меня пустой звук.

Последний раз редактировалось shindax; 24.10.2014 в 07:49.
shindax вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение PIC C Compiler(CCS C) CERGEI1982 Embedd С 2012 21.10.2026 19:54
Книги dosikus Электронная библиотека 11242 29.12.2015 23:45
Помогите найти функции чтения-записи для 24с64 begun AVR 15 05.03.2014 00:00
Расчет функции косинус Nihoden TTL и CMOS логика 26 14.05.2013 16:49
[Решено] Всем эмбеддерам посвящается... Decan Отвлекитесь, эмбеддеры! 0 24.10.2005 14:43


Часовой пояс GMT +4, время: 03:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.