LINUX.ORG.RU

Сообщения olegd

 

Скорость вызова функций в C

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

double idens(double x,double y) {
        int steps,c; 
        double rn, sumn, sprev, steplength, extra;
    extra=2*dens(x,y,0.5);
    sumn=dens(x,y,0)+dens(x,y,1)+2*extra;
    steps=1;
    do {
         steps*=2; sprev=sumn; steplength=(1.0/steps/2); sumn-=extra; extra=0;
         for (c=0; c<steps; c++){ 
             extra+=dens(x,y,c*2+1)*steplength)*2; }
         sumn+=extra*2;
         rn=(sumn/6.0/steps-sprev/3.0/steps); 
         if (rn<0) {rn=-rn;};
    } while (rn>epsilon);
    return sumn;}

Различаются они только вызываемой подинтегральной функцией вида double dens(double x, double y, double z)

Вопрос: имеет ли смысл обозначить dens как переменную и заменить все интегрирующие функции на одну? Или это замедлит программу?

Заранее спасибо.

>>>

olegd
()

Вопрос по C

Можно ли в C объявлять функции внутри других функций?

Можно ли сделать неглобальную переменную доступной для нескольких функций?

Что мне нужно. Из одной функции многократно вызывается другая. Она вычисляет функцию от полутора десятков параметров. Два меняются с каждым вызовом, остальные -- только с новым прогоном программы. Для примера: return a*x+b*y+c*x*y+d*x*x/y... Что можно сделать, чтобы не передавать a, b, c и d при каждом вызове функции? Глобальные переменные пробовал, но всё время возникают конфликты имён с библиотеками.

Извините за сумбурность, терминологией владею плохо. Ключевые слова для поиска ответа в гугле приветствуются. Ссылки на примеры -- тоже.

>>>

olegd
()

Вопрос о движении почты

О сетях имею весьма поверхностное представление, поэтому не смейтесь если что...

Есть домен, скажем domain.ru. В нем созданы поддомены типа domain2.domain.ru. В них -- свои поддомены domain3.domain2.domain.ru. Отдел, владеющий поддоменом domain3.domain2.domain.ru использует адреса вида имя@domain3.domain2.domain.ru, адреса pop и smtp сервера mail.domain3.domain2.domain.ru.

Вопрос: имеет ли возможность администратор www.domain2.domain.ru и mail.domain2.domain.ru фильтровать почту, идущий на имя@domain3.domain2.domain.ru? Или только в том случае, если mail.domain2.domain.ru и mail.domain3.domain2.domain.ru физически находятся на одном сервере?

Перемещено JB из Talks

>>>

olegd
()

Помогите разобраться с kdevelop

Пытаюсь собрать программу, которая должна определять 
соответствует ли файл формату PNG или нет.

#include <stdio.h>
#include <stdlib.h>
#include "png.h"

FILE *fp;
char header[8];

int main(int argc, char *argv[])
{ fp = fopen("/home/oleg/2.png", "rb");
  if (!fp) { printf("Cannot open file."); return(1);} 
  fread(header, 1, 8, fp);
  if ( png_sig_cmp(header, 0, 8) )  
    {printf("Not a PNG."); return(1); } 
  fclose(fp);
  return EXIT_SUCCESS;
}



"Compile file" работает нормально, но при попытке собрать проект через "Build project" выдаёт ошибку:

denspngc.o: In function `main':
/home/oleg/denspngc/src/denspngc.c:12: undefined reference to `png_sig_cmp'
collect2: ld returned 1 exit status
gmake[2]: *** [denspngc] Ошибка 1
gmake[1]: *** [all-recursive] Ошибка 1
gmake: *** [all] Ошибка 2
*** Exited with status: 2 ***

В чём проблема? Как это исправить?

>>>

olegd
()

Замена шрифта в браузере

Как в Firefox и Konqueror перманентно заменить один шрифт другим? Например, чтобы если в css прописаны Times и Serif, браузер выводил Liberation Serif?

>>>

olegd
()

Есть ли в Open Office метод наименьших квадратов?

Сабж. Требуется аппроксимировать точки функцией, линейно зависящей от 3-6 переменных. Умеет ли Open Office Calc делать это автоматически? Буду рад и ссылкам на примеры в сети.

>>>

olegd
()

Виртуальный диск (RAM disk)

Скажите пожалуйста, как создать временный диск в оперативной памяти? Чтобы можно было накидать туда временных файлов общим размером с половину физической памяти, а по окончании работы с ними -- удалить, и память бы вернулась системе. Ссылки на документацию и man-страницы сгодятся. Заранее спасибо.

>>>

olegd
()

http://home.eunet.no/pnordahl/ntpasswd/

Админ уехал, винды слетели, без пароля не починить. Скачал образ, загрузился, сменил пароль, починил. Линуксовые LiveCD/USB/floppy рулят!

А "Security through obscurity" -- временная мера.

>>>

olegd
()

Домен Windows

Есть локальная сеть на 11 машин под Windows: от 95 до Vista. Был сервер под Windows, который сдох. Ставлю новый, с линуксом. Нужно, чтобы машины могли как раньше входить в домен: авторизоваться, подключать диски и принтеры (один на сервере, другой на машине с XP). Как называется то, что мне нужно? По каким ключевым словам искать справочный материал?

>>>

olegd
()

RSS подписка на новые темы