powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Много ли новых проектов пишется на C
25 сообщений из 101, страница 2 из 5
Много ли новых проектов пишется на C
    #35981243
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParadoxxclihltParadoxx,

Дак уже давно есть - glibc. Чем не STL для C?

Да конечно это C standard library, но тогда можно еще отметить uClibc, Klibc, dietlibc, Newlib итд...
Но не один из них не можно считать стандартом как например STL дла C++.

Ну.. это все какбы даже не кросплатформенно ( я про ОС) . Хотя утверждать не буду ) О dietlibc и Newlib даже никогда ничего не слышал. )
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981567
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
clihlt,

Я имею ввиду что много таких либов, но не один из них не стандарт, то есть не част языка С...
Да и вообще С как то уже не развивают... Да согласен с коллегой MasterZiv, что там мало чего развивать ... Но так вообще не чего не делают.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981733
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Год-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981748
eee-pc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonГод-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать.

си сабалнсирован. и это хорошо.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981763
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Да в 2007-ом про это говорили, но потом затихли что то...
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981774
Фотография Paradoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eee-pcmaytonГод-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать.

си сабалнсирован. и это хорошо.

Простите что имеете ввиду говоря си сабалнсирован?
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35981869
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если мне не изменяет склероз, в C99 кажется, был вагон и маленькая тележка новых прибамбасов. Другое дело что для гуёвщиков и оопишников там ничего интересного нет. Ну так "Звиняйте, бананив нЭма...". Что касается новых проектов - ещё несколько лет назад было ощущение что все те миллионы и миллионы строк на фортране и алголе (математические либы) будут портироваться на C/C++, но теперь понятно что всё это останется на фортране и будет двигаться в сторону MPI. А чистый C останется в своей нише - языка написания ОС и серверов. Сложно ожидать какого то революционного развития языка предназначенного для решения таких задач.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35989467
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_n ...ещё несколько лет назад было ощущение что все те миллионы и миллионы строк на фортране и алголе (математические либы) будут портироваться на C/C++
Тут вспомнилось - как-то на занятиях по программированию решил рассмотреть простенький библиотечный алгоритм на ФОРТРАНе, но исполнить его на C (тема была по C, а алгоритмов других что-то не приходило в голову. Алгоритм же на Ф. был простенький - в 5 мин. со всеми объяснениями можно уложиться). Начал составлять - не уложился не то что в 5-10 минут, а 2 занятия ухлопал! Именно тогда я понял, почему алгоримы в Фортране практически невозможно перекладывать на C. Всё дело в том, что в параметрах библиотечных функций как правило содержатся размерности многомерных массивов с переменными размерами, которые на Ф. воспринимаются нормально, а в С этого просто НЕТ. Пришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35989537
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Paradoxx:

ParadoxxНу хотя бы что то на подобие STL... Конечно физически не вариант сделать STL для С, но имею ввиду добавить что то для работы со стандартными структурами данных итп...
На практике, STL-списки (std::list) часто неудобны и влекут искусственный overhead. Интрузивные списки удобнее, их часто используют, когда пишут на чистом C (см., например, списки в Wine ).
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35990640
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VowkПришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С.

Мдааа ... а про массивы массивов Вы слышали ?
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35990843
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)VowkПришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С.

Мдааа ... а про массивы массивов Вы слышали ?
Может у него какой-то особо уникальный случай? Никак не пойму, чего ему в С не хватило...
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35994950
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИдея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С.

Идея портирования математических алгоритмов с фортрана на си могла родиться у тех программистов, которым приходилось программировать алгоритмы в которых длина массивов, необходимых для хранения данных была заранее неизвестной и постоянно изменялась в процессе работы алгоритма. Попробуйте выполнить экономичное LU разложение разреженной матрицы с произвольным порядком упорядочивания её элементов и Вы сразу поймёте о чём я говорю. Может быть в более поздних версиях фортрана появилась возможность динамической аллокации памяти, последний фортран на котором я писал был кажется 67, там этого не было. Поэтому там такие проблемы решались вообщем то методом тыка.

Хотя я должен признать что некий цимес в Ваших словах есть. Массивы в фортране при передаче их в функции и процедуры допускают полиморфное поведение, в си этого нет просто по определению - тип параметров объявлается в сигнатуре метода а не в его теле как в фортране. В чистом си не эквивалентная, но сходная функциональность достигается путём применения указателей.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35994981
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте на С написать библиотечную подпрограмму, которая находит произведение ... нет, пусть просто сумму двух матриц A(m,n,p) + b(m,n,p) = с(m,n,p) - и далее разговор более предметный пойдет.
Обращение к подпрограмме предполагается что-то в роде
sum_matr(m,n,p,a,b,c).
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35994999
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ Сами матрицы A,B,C определены в вызывающей программе что-то вроде
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 DIM1  =  10 
  DIM2 =  20 
  DIM3 =  15 
  main(){
     int i,j,k;
     double a[DIM1][DIM2][DIM3];
     double b[DIM1][DIM2][DIM3];
     double c[DIM1][DIM2][DIM3];
     for (i= 0 ; i < DIM1; i++) for(j= 0 ;j<DIM2; j++) for (k= 0 ; k < DIM3; k++) {
         a[i][j][k] = i+j + k;
         b[i][j][k] = i-j - k;
         };
      sum_matr(DIM1,DIM2,DIM3,a,b,c);
      }
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995015
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhail_n wrote:

> Идея портирования математических алгоритмов с фортрана на си могла
> родиться у тех программистов, которым приходилось программировать
> алгоритмы в которых длина массивов, необходимых для хранения данных была
> заранее неизвестной и постоянно изменялась в процессе работы алгоритма.

+1. Самая главная причина была, пока не появилось в фортране динамическое
выделение памяти.

> Хотя я должен признать что некий цимес в Ваших словах есть. Массивы в
> фортране при передаче их в функции и процедуры допускают полиморфное
> поведение, в си этого нет просто по определению - тип параметров
> объявлается в сигнатуре метода а не в его теле как в фортране. В чистом
> си не эквивалентная, но сходная функциональность достигается путём
> применения указателей.

Адресной арифметики, а не указателей.
Надо самому вычислять смещение элемента в многомерной матрице,
написать функцию, ну или использовать С++.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995031
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оставим проблемы распределения памяти на вызывающую программу (как в приведенном мною примере) - и всё равно это не спасет ситуацию.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995052
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
void sum_matr(const int DIM1, const int DIM2, const int DIM3, double ***a, double ***b, double ***c)
{
         for(int i =  0 ; i < DIM1; i++)
              for(int j=  0 ; j < DIM2; j++)
                   for(int k= 0 ; k < DIM3; k++)
                        c[i][j][k] = a[i][j][k] + c[i][j][k];
}

авторАдресной арифметики, а не указателей.
Надо самому вычислять смещение элемента в многомерной матрице,
написать функцию, ну или использовать С++.

Речь немного о другом - как передать многомерный массив переменной размерности по всем индексам в функцию. Если Вы писали математику, то должны понимать, что Вам (мне по крайней мере) как программисту внутри функции удобнее работать с одномерным массивом используя адресную арифметику, но пользователь то ожидает видеть в сигнатуре метода многомерный массив (стереотипы знаете ли, раз матрица - значит двумерный массив, расчётная сетка в трёхмерной области - трёхмерный массив и т.д.). Ну так чего ж их не порадовать. Вообщем одно другого не подменяет.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995054
mikhail_n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть

Код: plaintext
c[i][j][k] = a[i][j][k] + b[i][j][k];
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995138
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рискну предположить, что этот пример не подвергался проверке.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995385
к е к с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот читаю ваш ленивый спор про си/фортран, кто хитрее в перемножении матриц, а на практике (в работe, за которую вам деньги платят) вы это три фишки в комбинации вообще использовали? или просто здесь воздух трясете?
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995567
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
к е к свот читаю ваш ленивый спор про си/фортран, кто хитрее в перемножении матриц, а на практике (в работe, за которую вам деньги платят) вы это три фишки в комбинации вообще использовали? или просто здесь воздух трясете?
При реализации численных методов на Ф. подобная обработка многомерных массивов используется повсюду, я привел лишь очень упрощенный вариант для объяснения почти принципиальной невозможности перевести библиотеки Ф. по численным методам на С, а не то, что там у кого-то нехватило времени, денег или ещё каких-нибудь ресурсов или понаписано на Ф. очень много - и поэтому не вышло. Просто удивляюсь, как можно было много лет выносить на обсуждение этот вопрос при том, что достаточно простенького теста для выяснения бесперспективности этой затеи.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995575
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VowkРискну предположить, что этот пример не подвергался проверке.
Что вас не устраивает в его примере?
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995579
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ и еще отвечаю своим примером программистам-теоретикам на ценные указания про существование многомерных массивов в С.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995581
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo
Что вас не устраивает в его примере?
Сильные сомнения в том, что предлагаемый пример работает правильно.
...
Рейтинг: 0 / 0
Много ли новых проектов пишется на C
    #35995612
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VowkXDiaBLo
Что вас не устраивает в его примере?
Сильные сомнения в том, что предлагаемый пример работает правильно.
Хмм, а реально, я тут слил ваши тексты:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
#include <stdio.h>
int DIM1  =  2 ;
int DIM2 =  3 ;
int DIM3 =  4 ;
void sum_matr(int DIM1,int DIM2, int DIM3, double ***a, double ***b, double ***c)
{
         for(int i =  0 ; i < DIM1; i++)
              for(int j=  0 ; j < DIM2; j++)
                   for(int k= 0 ; k < DIM3; k++)
                        c[i][j][k] = a[i][j][k] + b[i][j][k];
};
int main()
{
    int i,j,k;
    double a[DIM1][DIM2][DIM3];
    double b[DIM1][DIM2][DIM3];
    double c[DIM1][DIM2][DIM3];
    for (i= 0 ; i < DIM1; i++) 
	for(j= 0 ;j<DIM2; j++) 
	    for (k= 0 ; k < DIM3; k++) 
    {
         a[i][j][k] = i+j + k;
         b[i][j][k] = i-j - k;
    }
    for (i= 0 ; i < DIM1; i++) 
    {
	for(j= 0 ;j<DIM2; j++) 
        {
	    for (k= 0 ; k < DIM3; k++) 
    	    {
                printf("a[%d][%d][%d]=%f; ", i, j, k, a[i][j][k]);
            }
	    printf("\n");
        }
        printf("\n");
    };
    for (i= 0 ; i < DIM1; i++) 
    {
	for(j= 0 ;j<DIM2; j++) 
        {
	    for (k= 0 ; k < DIM3; k++) 
    	    {
                printf("b[%d][%d][%d]=%f; ", i, j, k, b[i][j][k]);
            }
	    printf("\n");
        }
        printf("\n");
    };
    sum_matr(DIM1,DIM2,DIM3,a,b,c);
    for (i= 0 ; i < DIM1; i++) 
    {
	for(j= 0 ;j<DIM2; j++) 
        {
	    for (k= 0 ; k < DIM3; k++) 
    	    {
                printf("a[%d][%d][%d]=%f; ", i, j, k, c[i][j][k]);
            }
	    printf("\n");
        }
        printf("\n");
    };
    return  0 ;
};
вылазит сообщение при компиляции:
g++.EXE (GCC) 3.4.5 (mingw special)C:\Temp>g++ -c forthran.cpp
forthran.cpp: In function `int main()':
forthran.cpp:49: error: cannot convert `double (*)[((unsigned int)((int)DIM2))][((unsigned int)((int)DIM3))]' to `double***' for
argument `4' to `void sum_matr(int, int, int, double***, double***, double***)'
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 2 из 5
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Много ли новых проектов пишется на C
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]