[опять вопрос никак к линуксу не относящийся, извините]
дано: тело из трех точек [A1,B1,C1] должно быть перенесенно в пространстве так, что-бы их координаты стали [A2,B2,C2]. Нужно найти вектор перемещения (dx,dy,dz) -(легко) и углы вращения вокруг осей X,Y,Z (в этом порядке).
Когда-то на этом форуме мне подсказали как найти ось и угол вращения вокруг неё, имея эти данные, можно ли получить выше указанные углы?
Машина с двумя ЦПУ:
model name : Intel(R) XEON(TM) CPU 2.40GHz
cpu MHz : 2392.948
память (RAM) : 513924 kB
Босс решил раскошелиться и прикупить ещё памяти. Я где-то читал, что не стоит
вешать больше одного гига памяти (хотя теоретически 32-х битный проц должен
потдерживать до 2-х гига).
Так ли это? Если так - то почему.
Заранее спасибочки
я даже не знаю плакать или смеятся, но вот случайно увидел такой вот перл (http://www.selectorweb.com/perl.html):
His code was called SelfGOL, and did one of four things:
1. played the game of life: selfgol -g -x=width -y=height
2. printed itself as output: selfgol -s
3. print a scrolling marquee: selfgol -d="banner"
4. modify a program to print itself as output: selfgol progname
It did this in under 1000 bytes of code: #!/usr/local/bin/perl -sw
$;=$/;seek+DATA,!++$/,!$s;$_=<DATA>;$s&&print||$g&&do{$y=( $x||=20)*($y||8);sub
i{sleep&f}sub'p{print$;x$=,join$;,$b=~/.{$x}/g}$j=$j;sub'f{pop}sub
n{substr($b,&f%$y,3)=~tr,O,O,}sub'g{$f=&f-1;($w,$w,substr($b,&f,1),O )[n($f-$x)+
n($x+$f)-(substr($b,&f,1)eq+O)+n$f]||$w}$w="\40";$b=join'',@ARGV?& lt;>:$_,$w
x$y;$b=~s).)$&=~/\w/?O:$w)ge;substr($b,$y)=q++;$g='$i=0;$i?$b:$c=$b;
substr+$c,$i,1,g$i;$g=~s?\d+?($&+1)%$y?e;$i-$y+1?eval$g:do{$i=-1;$b=$c;p;i
1}';sub'e{eval$g;&e}e}||eval||die+No.$;
__DATA__
if($j){{$^W=$|;*_=sub{$=+s=#([A-z])(.*)#=#$+$1#=g}}
@s=(q[$_=sprintf+pop@s,@s],q[
if($j){{$^W=$|;*_=sub{$=+s=#([A-z])(.*)#=#$+$1#=g}} #_The_Perl_Journal_#
@s=(q[%s],q[%s])x2;%s;print"\n"x&_,$_;i$j;eval}
])x2;$_=sprintf+pop@s,@s;print"\n"x&_,$_;i$j;eval}$/=$y;$"=&q uot;,";print
q<#!/usr/local/bin/perl -sw
if(!$s){>.($_=<>).q<}else{@s=(q[printf+pop@s,@s],q[#!/usr/local/bin/ perl -sw
if(!$s){>.(s$%$%%$g,tr=[=[===tr=]=]=||&d,$_).q<}else{@s=(q[%s],q[%s])x 2;%s}
])x2;printf+pop@s,@s}
>
Угадайте: что это за зверь на снимке.
ПС(1) Гимп не предлагать - это чесный скриншот
ПС(2) За мое здаровье не беспокойтесь: это не рабочая обстановка, а так, специально для ЛОРа
В чем принципиальное преемущество 64-битного процессора перед 32-битным, кроме того, что на первый можно навесить больше 2GB памяти?
Если сравнить две системы: 64 и 32 битные процессоры с одинаковой тактовой частотой, с одинаковым количеством RAMа, будет ли 64 битная система намного быстрее?
Компьютеры и трансформаторы
[прямого отношения к линуксу это не имеет, просто здесь крутятся очень компетентые люди, вот и решил задать свой вопрос здесь]
На сколько безопасно поместить серверную комнату в близком соседстве с БОЛьШХИМ трансформатором, который питает довольно большое здание? Какие меры стоит предпринять, и какие параметры замерить?
Есть картинки в формате gif или png. Надо к каждой из них в углу добавить надпись (простой текст, ни каких кодировок). Я знаю что можно запустить gimp perl server, но гимп жрет слишком много ресурсов для такой проблемы.
Есть ли простой модуль, который подойдет для такой задачи?
Имеется проект (С++) из нескольких фаилов + main.cpp. Все обьектные файлы (кроме main.o) я собрал в одну библиотеку путем
ar rcs libmoj.a *.o
Теперь я делаю что то в роде
gcc -L/path/to/lib/ -lmoj main.cpp
а он ругается про undefined reference'ы, хотя когда я пытаюсь построить программу целеком, никаких проблем нет.
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string s = "this is a sample useless string";
string word;
(istringstream)(istringstream (s.substr(0,2))) >>word;
return 0;
}
$ gcc --version
gcc (GCC) 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc -c zz.cpp
/usr/include/c++/3.3.2/bits/ios_base.h: In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
/usr/include/c++/3.3.2/bits/ios_base.h:668: error: `std::ios_base::ios_base(const std::ios_base&)' is private
zz.cpp:9: error: within this context
/usr/include/c++/3.3.2/streambuf: In copy constructor `std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::basic_stringbuf(const std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >&)':
/usr/include/c++/3.3.2/streambuf:922: error: `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private
zz.cpp:9: error: within this context
zz.cpp: In function `int main(int, char**)':
zz.cpp:9: error: no match for 'operator>>' in 'istringstream((&std::basic_string<_CharT, _Traits, _Alloc>::substr(typename _Alloc::size_type, typename _Alloc::size_type) const [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>](0, 2)), (std::_Ios_Openmode)8) >> word'
/usr/include/c++/3.3.2/bits
Kто скажет почему эта дрянь не компилируется, и чем принципиально отличается комбинация строк 10 и 11 от строки 13?
1#include <iostream>
2#include <cstdlib>
3#include <strstream>
4#include <string>
5using namespace std;
6int main(int argc, char *argv[])
7{
8 char s[]="this is a sample useless string";
9 char word[120];
10 istrstream is (s,5);
11 is>>word;//works till now ,
12 //but the following does not
13 istrstream (s+1,5)>>word;
14 //-do something with word
15 istrstream (s+2,5)>>word;
16 //-do something with word
17 istrstream (s+5,5)>>word;
18 //-do something with word
19 return 0;
22}
compiling zz.cpp (g++)
*compiling -fPIC (g++)
zz.cpp: In function `int main(int, char**)':
zz.cpp:13: error: no match for 'operator>>' in 'istrstream(((&s) + 1), 5) >> word'
30*/usr/include/c++/3.3.2/bits/istream.tcc:86: error: candidates are: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>&(*)(std::basic_istream<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_ios<_CharT, _Traits>&(*)(std::basic_ios<_CharT, _Traits>&)) [with _CharT = char, _Traits = std::char_traits<char>]
..........................
Я пытаюсь скомпилировать программу написанную на gcc2.XX, используя gcc3. В следующей строке:
template<class T = BTL_REAL, class Alloc = alloc>
class matrix
{.............};
компайлер жалуется на то что тип alloc ему неизвестен. В STL тип alloc прописывается на каждом шагу в качестве дефолтивного типа, значит надо исползовать какой-то namespace, кроме std, а какой не знаю.
Две машины в сети: одна redhat7.3, к ней подключен принтер (он исправно работает). Вторая::: mandrake10.0. Во второй я добовляю Remote LPD printer, прописываыу hostname и посылаыу пробный лист на печать. Все работает нормально, джоб на принтере успешно заканчивается без жалоб, НО.... сам принтер не реагирует и ни чего не печатает,хотя с родного компа он,как я уже сказал, работает.
Подсобите советом.
ПС - я пробовал отменять фаервол - не помогло
$ sudo cat /etc/cups/printers.conf
# Printer configuration file for CUPS v1.1.20
# Written by cupsd on Sun 02 May 2004 10:03:11 AM GDT
<Printer oki11>
Info
Location hostname
DeviceURI lpd://hostname:515/lp
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
я пытаюсь установить самба принтер на новеньком Мандрэйке (10.0, official).
Почему-то ничего не печатается, а cups administration tool ругается каким-то
NT_STATUS_UNSUCCESSFUL
установил mandrake10.0 CE с kdevelop3, теперь не могу собрать простейший проект в C++, который работал в kdevelop2.
Я сделал: сделал новый проект C++ и добавил к нему нужные фаилы.
Все фаилы компилируются, но при build'е, выдаются кучи ошибок undefined reference.
Дерево в automake manager выглядит так:
Header in noinst
test1 (Program in bin)
|-triangle.h
|-triangle.cpp
|-test1.cpp
-------------------------
HELP
В перле это так просто: нужно посылать команды в какую-то программы и читать её output? Пишешь sebe open2(\*R, \*W, $command), и поехали.
А вот как это в ц++ сделать?, желательно при помощи stream`ов.
Как я понимаю, sockets это не совсем то, так как и сервер и клиент должен быть написан мною, а у меня задача иная - общатся с чужой (и закрытой) CLI программой.
Может ли кто-нибудь поделится кусочком кода или ссылкой на готовый ресурс на сети?
Помогите, люди добрые: не могу поимать fstat. Ни как не могу найти ошибку:
[me]$ cat fakestat.c
/* fakestat.c*/
#include <sys/stat.h>
#define BUFFERLEN 256
int fstat (int fd, struct stat *statbuf);
int fstat (int fd, struct stat *statbuf){
return 10;
}
[me]$ cat stattest.c
#include <fcntl.h>
/*stattest.c*/
#include <sys/stat.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dlfcn.h>
int main(int argc, char *argv[])
{
char fileName[120];
struct stat statbuf, realstatbuf;
char timeBuf[50];
int a, statRet;
strcpy(fileName, "/etc/passwd");
a=open (fileName,O_RDONLY );
if (statRet=fstat(a, &statbuf)){
printf("could not fstat %s: %s\n", fileName, strerror(errno));
}
printf ("stat returned %d\n",statRet);
printf("passwd was accessed on %s\n",ctime(&statbuf.st_atime));
return 0;
}
[me]$ cat Makefile
#Makefile
CC = gcc
all: lib testprog test
lib: fakestat.c
${CC} -nostartfiles -shared -fPIC -Wl,-soname,libfakestat.so.1 -o libfakestat.so.1 fakestat.c -ldl -lm
testprog: stattest.c
${CC} -o stattest stattest.c
test: lib testprog
@echo "Running the test program with no faked stat specified"
@LD_PRELOAD=./libfakestat.so.1 ./stattest
@echo
@echo "Running the test program with absolute date 2003-01-01 10:00:05 specified"
@LD_PRELOAD=./libfakestat.so.1 FAKETIME="2003-01-01 10:00:05" ./stattest[me]$ make
gcc -nostartfiles -shared -fPIC -Wl,-soname,libfakestat.so.1 -o libfakestat.so.1 fakestat.c -ldl -lm
gcc -o stattest stattest.c
Running the test program with no faked stat specified
stat returned 0
passwd was accessed on Wed Feb 25 01:34:21 2004
Running the test program with absolute date 2003-01-01 10:00:05 specified
stat returned 0
passwd was accessed on Wed Feb 25 01:34:21 2004