Přesunutí některých hodnot do konstatnt (počet zpráv, délka zprávy)
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sun, 05 Apr 2009 12:39:59 +0200
changeset 2f1aae09bb78e
parent 1 9a570824084d
child 3 64edc459a9c5
Přesunutí některých hodnot do konstatnt (počet zpráv, délka zprávy)
c++/POSIXoveFronty/Fronta/Makefile
c++/POSIXoveFronty/Fronta/program.cpp
c++/POSIXoveFronty/Fronta/program.h
     1.1 --- a/c++/POSIXoveFronty/Fronta/Makefile	Fri Apr 03 22:39:11 2009 +0200
     1.2 +++ b/c++/POSIXoveFronty/Fronta/Makefile	Sun Apr 05 12:39:59 2009 +0200
     1.3 @@ -1,9 +1,9 @@
     1.4  #############################################################################
     1.5  # Makefile for building: Fronta
     1.6 -# Generated by qmake (2.01a) (Qt 4.4.3) on: p dub 3 18:45:02 2009
     1.7 +# Generated by qmake (2.01a) (Qt 4.4.3) on: so dub 4 22:38:33 2009
     1.8  # Project:  Fronta.pro
     1.9  # Template: app
    1.10 -# Command: /usr/bin/qmake -unix -o Makefile Fronta.pro
    1.11 +# Command: /usr/bin/qmake-qt4 -spec /usr/share/qt4/mkspecs/linux-g++ -unix -o Makefile Fronta.pro
    1.12  #############################################################################
    1.13  
    1.14  ####### Compiler, tools and options
    1.15 @@ -19,7 +19,7 @@
    1.16  LIBS          = $(SUBLIBS)  -L/usr/lib -lQtGui -lQtCore -lpthread
    1.17  AR            = ar cqs
    1.18  RANLIB        = 
    1.19 -QMAKE         = /usr/bin/qmake
    1.20 +QMAKE         = /usr/bin/qmake-qt4
    1.21  TAR           = tar -cf
    1.22  COMPRESS      = gzip -9f
    1.23  COPY          = cp -f
    1.24 @@ -114,7 +114,7 @@
    1.25  		/usr/share/qt4/mkspecs/features/lex.prf \
    1.26  		/usr/lib/libQtGui.prl \
    1.27  		/usr/lib/libQtCore.prl
    1.28 -	$(QMAKE) -unix -o Makefile Fronta.pro
    1.29 +	$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix -o Makefile Fronta.pro
    1.30  /usr/share/qt4/mkspecs/common/g++.conf:
    1.31  /usr/share/qt4/mkspecs/common/unix.conf:
    1.32  /usr/share/qt4/mkspecs/common/linux.conf:
    1.33 @@ -136,7 +136,7 @@
    1.34  /usr/lib/libQtGui.prl:
    1.35  /usr/lib/libQtCore.prl:
    1.36  qmake:  FORCE
    1.37 -	@$(QMAKE) -unix -o Makefile Fronta.pro
    1.38 +	@$(QMAKE) -spec /usr/share/qt4/mkspecs/linux-g++ -unix -o Makefile Fronta.pro
    1.39  
    1.40  dist: 
    1.41  	@$(CHK_DIR_EXISTS) .tmp/Fronta1.0.0 || $(MKDIR) .tmp/Fronta1.0.0 
     2.1 --- a/c++/POSIXoveFronty/Fronta/program.cpp	Fri Apr 03 22:39:11 2009 +0200
     2.2 +++ b/c++/POSIXoveFronty/Fronta/program.cpp	Sun Apr 05 12:39:59 2009 +0200
     2.3 @@ -14,22 +14,19 @@
     2.4  
     2.5  using namespace std;
     2.6  
     2.7 -struct mq_attr ma = {
     2.8 -    ma.mq_maxmsg = 5,
     2.9 -    ma.mq_msgsize = 100
    2.10 -};
    2.11 -
    2.12 -/*
    2.13 - * 
    2.14 - */
    2.15 -int main(int argc, char** argv) {
    2.16 +int main() {
    2.17  
    2.18      cout << "Vítejte v programu POSIXovéFronty" << endl;
    2.19  
    2.20 -    ma.mq_maxmsg = 5;
    2.21 -    ma.mq_msgsize = 100;
    2.22 +    mq_vlastnosti.mq_maxmsg = POCET_ZPRAV_VE_FRONTE;
    2.23 +    mq_vlastnosti.mq_msgsize = DELKA_ZPRAVY;
    2.24  
    2.25 -    
    2.26 +
    2.27 +    //cout << "maxmsg: " << ma.mq_maxmsg;
    2.28 +    //cout << "msgsize: " << ma.mq_msgsize;
    2.29 +
    2.30 +
    2.31 +
    2.32  
    2.33      //cout << NAZEV_FRONTY << endl;
    2.34  
    2.35 @@ -66,11 +63,11 @@
    2.36  void odesilej() {
    2.37      cout << "odesíláme" << endl;
    2.38  
    2.39 -    
    2.40  
    2.41 -    mqd_t fronta = mq_open(NAZEV_FRONTY, O_RDWR | O_CREAT, S_IRWXU | S_IRWXG, &ma);
    2.42  
    2.43 -    char* zprava = "zpráva";
    2.44 +    mqd_t fronta = mq_open(NAZEV_FRONTY, O_RDWR | O_CREAT, S_IRWXU | S_IRWXG, &mq_vlastnosti);
    2.45 +
    2.46 +    char zprava[] = "zpráva";
    2.47  
    2.48      mq_send(fronta, zprava, strlen(zprava) + 1, 0);
    2.49  
    2.50 @@ -83,9 +80,9 @@
    2.51      cout << "přijímáme" << endl;
    2.52  
    2.53      mqd_t fronta = mq_open(NAZEV_FRONTY, O_RDONLY);
    2.54 -    char s[101];
    2.55 -    s[100] = '\0';
    2.56 -    if (mq_receive(fronta, s, 100, NULL) > 0) {
    2.57 +    char s[DELKA_ZPRAVY + 1];
    2.58 +    s[DELKA_ZPRAVY] = '\0';
    2.59 +    if (mq_receive(fronta, s, DELKA_ZPRAVY, NULL) > 0) {
    2.60          printf("Přijatá zpráva: %s\n", s);
    2.61      } else {
    2.62          cout << "Nepodařilo se přijmout zprávu" << endl;
    2.63 @@ -96,4 +93,3 @@
    2.64  
    2.65  
    2.66  }
    2.67 -
     3.1 --- a/c++/POSIXoveFronty/Fronta/program.h	Fri Apr 03 22:39:11 2009 +0200
     3.2 +++ b/c++/POSIXoveFronty/Fronta/program.h	Sun Apr 05 12:39:59 2009 +0200
     3.3 @@ -5,6 +5,8 @@
     3.4   * Created on 2. duben 2009, 0:07
     3.5   */
     3.6  
     3.7 +#include <mqueue.h>
     3.8 +
     3.9  #ifndef _PROGRAM_H
    3.10  #define	_PROGRAM_H
    3.11  
    3.12 @@ -14,11 +16,15 @@
    3.13  #endif
    3.14  
    3.15      const char* NAZEV_FRONTY = "/mojeFronta";
    3.16 +    struct mq_attr mq_vlastnosti;
    3.17 +    const int POCET_ZPRAV_VE_FRONTE = 5;
    3.18 +    const int DELKA_ZPRAVY = 100;
    3.19 +
    3.20      void prijimej();
    3.21      void odesilej();
    3.22  
    3.23      /**
    3.24 -     * zeptá se uživatele, zda se má program spustit v odesílacím nebo přijímacím režimu.
    3.25 +     * Zeptá se uživatele, zda se má program spustit v odesílacím nebo přijímacím režimu.
    3.26       * true = odesílací
    3.27       * false = přijímací
    3.28       */