[ 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 | 5
NapísalOffline : 27.05.2010 16:14 | pomôžte pls pri chybe

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ý: 25.10.24
Príspevky: 749
Témy: 31 | 31
Bydlisko: Ružomberok&...
NapísalOffline : 27.05.2010 17:35 | pomôžte pls pri chybe

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 | 5
Napísal autor témyOffline : 27.05.2010 19:26 | pomôžte pls pri chybe

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ý: 25.10.24
Príspevky: 749
Témy: 31 | 31
Bydlisko: Ružomberok&...
NapísalOffline : 27.05.2010 19:36 | pomôžte pls pri chybe

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 | 5
Napísal autor témyOffline : 27.05.2010 20:00 | pomôžte pls pri chybe

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 | 0
NapísalOffline : 28.05.2010 22:23 | pomôžte pls pri chybe

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 | 5
Napísal autor témyOffline : 28.05.2010 22:27 | pomôžte pls pri chybe

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 | 0
NapísalOffline : 28.05.2010 22:33 | pomôžte pls pri chybe

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 | 5
Napísal autor témyOffline : 28.05.2010 22:39 | pomôžte pls pri chybe

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


 [ Príspevkov: 9 ] 


pomôžte pls pri chybe



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

978

24.08.2009 13:10

OmeGa

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

Prosim pomôžte pls pls

v Sieťové a internetové programy

5

578

15.02.2009 14:59

ac.milan

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

Pomoc pri chybe v XP

v Operačné systémy Microsoft

2

425

28.03.2009 7:15

Jaro

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

Pri chybe sa otvori ina stranka

v HTML, XHTML, XML, CSS

3

563

10.12.2008 18:56

p360t

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

Email pri chybe spojenia s SQL

v PHP, ASP

4

682

10.11.2009 21:11

Wicky

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

PLS pomozte

v Databázy

22

2279

09.10.2007 17:30

Palciny

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

pomozte pls

v AMD - Advanced Micro Devices

5

668

17.03.2008 14:40

brm

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

Oblivion (pls pomozte)

v Počítačové hry

16

1828

30.08.2006 21:17

Search.mod

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

Prestashop pls help pomozte !!!

v Redakčné systémy

0

762

06.04.2010 20:35

delo101

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

2715

10.03.2010 14:39

AsuSmaNiaK

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

pls pomozte ohladne ventilatora

v Ostatné

9

550

17.05.2008 15:20

rojko666

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

Blbne mi PC . PLS pomozte

v Počítačové hry

9

731

07.08.2008 8:48

chorche

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

pls pomozte ni s formatovanim

v Ostatné programy

12

734

07.08.2009 9:05

r0bhin0

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

icq v mobile - pomozte pls

v Sieťové a internetové programy

6

704

05.05.2007 16:08

honda

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

NEJDE PC/monitor pls pomozte

v Ostatné

3

494

09.10.2008 22:26

janicek

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

nejde mi zvuk pls pomozte

v Ovládače

11

1054

18.05.2008 9:14

flanky



© 2005 - 2024 PCforum, edited by JanoF