Nowe posty

Autor Wątek: Kompilacja C/C++  (Przeczytany 7611 razy)

Offline Michał

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Kompilacja C/C++
« dnia: 2006-01-14, 09:47:28 »
Mam do zrobienia symulacje pewnego procesu fizycznego ktorej jednorazowe odpalenie zajmuje obecnie okolo 10 dni.
Sprawdzilem obciazenie CPU i okazuje sie ze jest zajete w okolo 54 % chcialbym móc je obciążyć 90-100 % . Z tego co wiem można w Delfi pisząc program nadać mu wysoki pryjorytet wtedy po odpaleniu zajmuje on tyle procka że nie można zrobic już nic innego.
Prolem w tym że symulacja ta nie jest pisanaw Delfi a w Fortranie.
Czy ktoś zna podobną opcję dla fortranu lub czy można zmusić system do tego by zajmował się głównie jakimś jednym wybranym programem?
Mam Fedore 2
Dzięki za wszelką pomoc.
Michał

Offline Michał Łukowicz

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 100
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #1 dnia: 2006-01-14, 10:19:08 »
Czołem

Nie wiem czy to coś da ale może zmienić mu priorytek komendą nice (czy renice nie pamiętam dokładnie) ???

Pozdrawiam
Panoramix

Offline Michał

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 12
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #2 dnia: 2006-01-21, 12:54:17 »
Dzięki.
Problem jest już załatwiony.
W między czasie dogrzebałem się do nice - ale graficznego w \\"Monitorze systemu\\"
To jednak niewiele zmieniło.
Po kilku konsultacjach wiem już że problem jest w tym iż mam HT a odpalam program który działa jak jeden proces w związku z czym idzie tylko na jeden procek i to w efekcie daje 50% obciążenia CPU.
Może uda mi się znaleźć komendę która pozwoli skompilować program tak by wykorzystywał HT tj. produkował dwa procesy.
Zciągnołem już kompilator Fortranu napisany przez Intela on prawdopodobnie zawiera taką opcję.
Michał

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #3 dnia: 2006-01-13, 21:03:42 »
Witam

Bardzo prosze o pomoc w rozwiazaniu problemu z kompilacja. Ponizej opisze krok po kroku co robie zeby skompilowac program i mam nadzieje ze ktos mi powie co robie zle czy czego nie robie a co jest niezbedne zeby kompilacja sie udala.

A wiec najpierw uruchamiam edytor Emacs.
W edytorze tym wpisuje nastepujacy program:

int main()
{
  int i=2;
  return 0;
}

Program jest celowo prosty zeby miec pewnosc ze problem z kompilacja nie wynika z bledow w kodzie.

Nastepnie w Emacsie wybieram z menu:

File -> Save Buffer As...


W linii polecen pojawia mi sie:

Write file: ~/

Wiec podaje sciezke dostepu do katalogu (do ktorego chce zapisac swoj plik) i nazwe pliku w nastepujacy sposob:

Write file: /home/maciek/first.cpp

Sprawdzam ze rzeczywiscie w katalogu maciek zostal utworzony plik first.cpp.

Nastepnie uruchamiam terminal czyli:

System Tools -> Terminal

W terminalu przechodze do katalogu "maciek" czyli:

[root@Maciek root]# cd /
[root@Maciek /]# cd home
[root@Maciek home]# cd maciek
[root@Maciek maciek]#

Nie wiem czy to ma znaczenie ale robie to na wszelki wypadek.

Nastepnie w terminalu wydaje polecenie kompilacji. Robie to w ten sposób:

[root@Maciek maciek]# g++ first.cpp -o program

Odpowiedz na to polecenie jest taka:

first.cpp:1: parse error before `for'
first.cpp:1:36: mising terminating ' character
first.cpp:1:36: warning: character constant too long
first.cpp:2: parse error before `to'
first.cpp:3: parse error before `text'
first.cpp:3:36: mising terminating ' character
first.cpp:3:36: warning: character constant too long
[root@Maciek maciek]#

Domyslam sie ze kompilacja sie nie powiodla skoro sa komunikaty o bledach.
Bardzo prosze o wyczerpujaca odpowiedz co robie zle.
Dodam jeszcze ze pracuje z uprawnieniami roota.

Z gory dziekuje za pomoc.

Offline marek dorobczynski

  • Users
  • Stały bywalec
  • ***
  • Wiadomości: 170
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #4 dnia: 2006-01-13, 21:42:50 »
emacs do najlatwiejszych nie nalezy... proponuje pisac w Kwrite , ladnie koloruje skladnie , a reszte robic z pod konsoli czyli g++ zrodlo.cpp
i potem ./a.out - domyslna nazwa skompilonwanego pliku

i tyle, robie tak od dawna :)

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 372
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #5 dnia: 2006-01-13, 23:42:43 »
można pisać w Kwrite lub ja osobiście polecam Kate masz tam konsolę pod ręką

Offline Piotr Chmura

  • Administrator
  • Guru
  • *****
  • Wiadomości: 5060
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #6 dnia: 2006-01-14, 08:47:59 »
po pierwsze: NIGDY NIE PRACUJ SPOD ROOTA bo mozesz wicej popsuc, niz naprawic...

po drugie naglowek main powinien wygladac tak:

int main(int argc, char** argv);

oczywiscie nazwy argumentow wedle twojego uznania ;-)

po trzecie komunikaty, ktore dostales z kompilacji nie dotycza programu, ktory nam przedstawiles ;-)
w pierwszej linii pliku jaki kompilowales byl jakis for...

Offline Paweł Godlewski

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 19
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #7 dnia: 2006-01-14, 09:52:14 »
2006-01-13 21:03:42 solution napisał:
 > [root@Maciek root]# cd /
 > [root@Maciek /]# cd home
 > [root@Maciek home]# cd maciek
 > [root@Maciek maciek]#
 

A po czwarte wystarczyło by

$ cd
$ cd maciek

;)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 30
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #8 dnia: 2006-01-14, 11:48:01 »
ja dopiero zacząłem programowanie w c gdzie kompiluje się poleceniem gcc. A co do problemu: nie wiem czy jakie kolwiek polecenie to potrzebuje, ale czy nie powinieneś includować jakiegoś pliku ;)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 10
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #9 dnia: 2006-01-21, 22:12:28 »
wpsiz cat first.cpp (czy jak sie ten twoj plik nazywa) i wklej tutaj

Offline Igor

  • Users
  • Użytkownik
  • **
  • Wiadomości: 76
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #10 dnia: 2006-03-26, 00:36:31 »
1. ten twój programik nic ci na ekran nie wywali, więc nawet nie będziesz wiedział czy działa...
2. czy jest pod linuxa odpowiednik Qbasica, QuickC, TurboC i TB?  najbardziej zależałoby mi na TurboC czy też jakimś innym środowisku typu IDE do pisania programików konsolowych.
czy jestem skazany na kompilację command line'm?

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 6
    • Zobacz profil
Kompilacja C/C++
« Odpowiedź #11 dnia: 2006-04-30, 20:24:58 »
hey!
wg mnie caly program powinien wygladac tak jesli ma byc w c++:
///////////////////////////////////
#include
#Include

using namespace std;

int main()
{
int i=2;
return 0;
}
///////////////////////////////////

u mnie kompilije sie dez problemu na Slacku 10.2
polecam kompilowac tak:
g++ -o zrodlo.cpp wyjscie
lub
g++ -o wyjscie zrodlo.cpp
zawsze mi sie pier....:)
ale dzialac musi!
pozdrawiam!


2006-01-13 21:03:42 solution napisał:

> Witam
 >
 > Bardzo prosze o pomoc w rozwiazaniu problemu z kompilacja. Ponizej opisze krok po kroku co
 > robie zeby skompilowac program i mam nadzieje ze ktos mi powie co robie zle czy czego nie robie
 > a co jest niezbedne zeby kompilacja sie udala.
 >
 > A wiec najpierw uruchamiam edytor Emacs.
 > W edytorze tym wpisuje nastepujacy program:
 >
 > int main()
 > {
 >   int i=2;
 >   return 0;
 > }
 >
 > Program jest celowo prosty zeby miec pewnosc ze problem z kompilacja nie wynika z bledow w
 > kodzie.
 >
 > Nastepnie w Emacsie wybieram z menu:
 >
 > File -> Save Buffer As...
 >
 >
 > W linii polecen pojawia mi sie:
 >
 > Write file: ~/
 >
 > Wiec podaje sciezke dostepu do katalogu (do ktorego chce zapisac swoj plik) i nazwe pliku w
 > nastepujacy sposob:
 >
 > Write file: /home/maciek/first.cpp
 >
 > Sprawdzam ze rzeczywiscie w katalogu maciek zostal utworzony plik first.cpp.
 >
 > Nastepnie uruchamiam terminal czyli:
 >
 > System Tools -> Terminal
 >
 > W terminalu przechodze do katalogu "maciek" czyli:
 >
 > [root@Maciek root]# cd /
 > [root@Maciek /]# cd home
 > [root@Maciek home]# cd maciek
 > [root@Maciek maciek]#
 >
 > Nie wiem czy to ma znaczenie ale robie to na wszelki wypadek.
 >
 > Nastepnie w terminalu wydaje polecenie kompilacji. Robie to w ten sposób:
 >
 > [root@Maciek maciek]# g++ first.cpp -o program
 >
 > Odpowiedz na to polecenie jest taka:
 >
 > first.cpp:1: parse error before `for'
 > first.cpp:1:36: mising terminating ' character
 > first.cpp:1:36: warning: character constant too long
 > first.cpp:2: parse error before `to'
 > first.cpp:3: parse error before `text'
 > first.cpp:3:36: mising terminating ' character
 > first.cpp:3:36: warning: character constant too long
 > [root@Maciek maciek]#
 >
 > Domyslam sie ze kompilacja sie nie powiodla skoro sa komunikaty o bledach.
 > Bardzo prosze o wyczerpujaca odpowiedz co robie zle.
 > Dodam jeszcze ze pracuje z uprawnieniami roota.
 >
 > Z gory dziekuje za pomoc.
 >
 >