Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.03.07
Prihlásený: 27.05.10
Príspevky: 17
Témy: 5
Príspevok NapísalOffline : 27.05.2010 16:14

pri kompilácií v linuxe mi vypíše chybu:
Kód:
error: invalid application of ‘sizeof’ to incomplete type ‘struct shared_use_st’


chyba je v riadku :
Kód:
shmid = shmget(1294,sizeof(struct shared_use_st),0666 | IPC_CREAT);


a definované je to takto :
Kód:
struct shared_use_st *shared_stuff;


ako odstrániť danú chybu? skúsil som aj googliť ale C nieje moja silná stránka ... vopred dík


Offline

Užívateľ
Užívateľ
pomôžte pls pri chybe

Registrovaný: 19.09.06
Prihlásený: 17.01.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 27.05.2010 17:35

skus vyhodit z sizeof to slovko struct


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.03.07
Prihlásený: 27.05.10
Príspevky: 17
Témy: 5
Príspevok Napísal autor témyOffline : 27.05.2010 19:26

no potom mi vyhodi toto:

Kód:
s1.c:51: error: ‘shared_use_st’ undeclared (first use in this function)
s1.c:51: error: (Each undeclared identifier is reported only once
s1.c:51: error: for each function it appears in.)


Offline

Užívateľ
Užívateľ
pomôžte pls pri chybe

Registrovaný: 19.09.06
Prihlásený: 17.01.24
Príspevky: 749
Témy: 31
Bydlisko: Ružomberok&...
Príspevok NapísalOffline : 27.05.2010 19:36

a mas spravne includovany subor, ktory tuto strukturu deklaruje?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.03.07
Prihlásený: 27.05.10
Príspevky: 17
Témy: 5
Príspevok Napísal autor témyOffline : 27.05.2010 20:00

tu to mas cele :

Kód:
#include <unistd.h>

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#include <sys/types.h>

#include <sys/ipc.h>

#include <sys/shm.h>

#include <sys/sem.h>

//#include "shm_com.h"





union semun

{ int val, arg1, arg2; /* hodnota pre SETVAL */

struct semid_ds *buf; /* buffer pre IPC_STAT, IPC_SET */

unsigned short int *array; /* pole pre GETALL, SETALL */

struct seminfo *__buf; /* buffer pre IPC_INFO */

};



static int set_semvalue(void);

static void del_semvalue(void);

static int semaphore_p(void);

static int semaphore_v(void);

static int sem_id;





int main()

{

 int i;

 int pause_time;

 char op_char = 'X';

 srand((unsigned int)getpid());

 int running = 1;

 void *shared_memory = (void *)0;

 struct shared_use_st *shared_stuff;

 int shmid;

 srand((unsigned int)getpid());

 



sem_id = semget((key_t)1284, 1, 0666 | IPC_CREAT);

if(sem_id==-1){

perror("semget()");

exit(EXIT_FAILURE);

}



printf("Program sem1.c ID semaforu: %d\n",sem_id);

if (!set_semvalue()) {

fprintf(stderr, "Failed to initialize semaphore\n");

exit(EXIT_FAILURE);

}



shmid = shmget(1294,sizeof( shared_use_st),0666 | IPC_CREAT);



if (shmid == -1) {

fprintf(stderr, "shmget failed\n");

exit(EXIT_FAILURE);

}





shared_memory = shmat(shmid, (void *)0, 0);

if (shared_memory == (void *)-1) {

fprintf(stderr, "shmat failed\n");

exit(EXIT_FAILURE);

}



printf("Memory attached at %X\n", (int)shared_memory);

shared_stuff = (struct shared_use_st *)shared_memory;



sleep(2);

while(running) {

     if (!semaphore_p()) exit(EXIT_FAILURE);

         printf("You wrote: %s\n", shared_stuff->some_text);

       if (!semaphore_v()) exit(EXIT_FAILURE);

              if (strncmp(shared_stuff->some_text, "end", 3) == 0) {

                  running = 0;

}

sleep(1);

}

del_semvalue();



if (shmdt(shared_memory) == -1) {

fprintf(stderr, "shmdt failed\n");

exit(EXIT_FAILURE);

}

if (shmctl(shmid, IPC_RMID, 0) == -1) {

fprintf(stderr, "shmctl(IPC_RMID) failed\n");

exit(EXIT_FAILURE);

}

exit(EXIT_SUCCESS);

}







static int set_semvalue(void){

union semun sem_union;

sem_union.val = 1;

if (semctl(sem_id, 0, SETVAL, sem_union) == -1) return(0);

return(1);

}



static void del_semvalue(void){

if (semctl(sem_id, 0, IPC_RMID) == -1)

fprintf(stderr, "Failed to delete semaphore\n");

}





static int semaphore_p(void)

{

struct sembuf sem_b;

sem_b.sem_num = 0;

sem_b.sem_op = -1;

sem_b.sem_flg = SEM_UNDO;

if (semop(sem_id, &sem_b, 1) == -1) {

fprintf(stderr, "semaphore_p failed\n");

return(0);

}

return(1);

}





static int semaphore_v(void)

{

struct sembuf sem_b;

sem_b.sem_num = 0;

sem_b.sem_op = 1;

sem_b.sem_flg = SEM_UNDO;

if (semop(sem_id, &sem_b, 1) == -1) {

fprintf(stderr, "semaphore v failed\n");

return(0);

}

return(1);

}


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 28.05.2010 22:23

A tú štruktúru tam máš aj niekde deklarovanú?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.03.07
Prihlásený: 27.05.10
Príspevky: 17
Témy: 5
Príspevok Napísal autor témyOffline : 28.05.2010 22:27

toto vyssie je cely program ... problem je v tom ze ja to moc neviem deklarovat :loony:


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 28.05.2010 22:33

Tak keď nabudúce budeš kopírovať nejaký program, skopíruj ho celý. :)

Na čo ti to je, keď v C programovať nevieš (a pravdepodobne ani nemáš úmysel sa v C naučiť programovať)?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.03.07
Prihlásený: 27.05.10
Príspevky: 17
Témy: 5
Príspevok Napísal autor témyOffline : 28.05.2010 22:39

ma to zmysel ziskania zapoctu....a Ccko nemam rad, hlavne na principe jadra (procesy, semafory a pod...) staci? :P


Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. pri vipnuti kompu sa znova zapne.....som zufaly..pomozte pls

v nVidia čipové sady

10

949

24.08.2009 13:10

OmeGa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prosim pomôžte pls pls

v Sieťové a internetové programy

5

537

15.02.2009 14:59

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc pri chybe v XP

v Operačné systémy Microsoft

2

395

28.03.2009 7:15

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Email pri chybe spojenia s SQL

v PHP, ASP

4

651

10.11.2009 21:11

Wicky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pri chybe sa otvori ina stranka

v HTML, XHTML, XML, CSS

3

538

10.12.2008 18:56

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pomozte pls

v AMD - Advanced Micro Devices

5

637

17.03.2008 14:40

brm Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PLS pomozte

v Databázy

22

2252

09.10.2007 17:30

Palciny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Oblivion (pls pomozte)

v Počítačové hry

16

1797

30.08.2006 21:17

Search.mod Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prestashop pls help pomozte !!!

v Redakčné systémy

0

729

06.04.2010 20:35

delo101 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kúpa Kamery pomožte pls

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Ostatné

37

2653

10.03.2010 14:39

AsuSmaNiaK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pls pomozte ohladne ventilatora

v Ostatné

9

519

17.05.2008 15:20

rojko666 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nejde mi zvuk pls pomozte

v Ovládače

11

1021

18.05.2008 9:14

flanky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Blbne mi PC . PLS pomozte

v Počítačové hry

9

703

07.08.2008 8:48

chorche Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pls pomozte ni s formatovanim

v Ostatné programy

12

707

07.08.2009 9:05

r0bhin0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. icq v mobile - pomozte pls

v Sieťové a internetové programy

6

672

05.05.2007 16:08

honda Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NEJDE PC/monitor pls pomozte

v Ostatné

3

462

09.10.2008 22:26

janicek Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra