Visit Our UNIX and Linux User Community


struct timespec in ANSI C


 
Thread Tools Search this Thread
Top Forums Programming struct timespec in ANSI C
# 1  
Old 10-27-2002
struct timespec in ANSI C

I am trying to compile ANSI C code for Sun Solaris V8.

My problem is that the 'timespec' structure does not seem to be recognised when compiling. The compiler usually gives me an 'invalid reference' warning.

The funny thing is that it doesn't seem to have an effect on the run-time behaviour. Supposedly 'timespec' is defined in <time.h>, so I do have this included.

Any takers? Smilie Thx in advance.
# 2  
Old 10-27-2002
The only solaris 8 system that I have access to has no compiler, so I can't test this. But looking at the include files, <time.h> will include <sys/time_impl.h> depending on what symbols you set. <sys/time_impl.h> defines timespec.

My guess is that you are defining symbols that are removing non-posix and/or non-ansi-c definitions from the namespace. And the header files are not handling your selected options in a robust manner. If you are getting a compile error and you picked an legal combination of symbols, then the header files may have a minor bug. As a work-around, maybe you can define timespec in a typedef to silence the compiler.
# 3  
Old 10-28-2002
Quote:
Originally posted by Perderabo
The only solaris 8 system that I have access to has no compiler, so I can't test this. But looking at the include files, <time.h> will include <sys/time_impl.h> depending on what symbols you set. <sys/time_impl.h> defines timespec.

My guess is that you are defining symbols that are removing non-posix and/or non-ansi-c definitions from the namespace. And the header files are not handling your selected options in a robust manner. If you are getting a compile error and you picked an legal combination of symbols, then the header files may have a minor bug. As a work-around, maybe you can define timespec in a typedef to silence the compiler.
Thanks for the advice Perderabo - I think you're right. I'm going through most of my definitions ATM to make sure there are no conflicts.

What makes me think you're right is that compiling without the '-Xc' switch (ANSI C conformance in Sun CC) leads to no warnings. Certainly an interesting one.
# 4  
Old 10-29-2002
I seem to remember having similiar issues with the time structure myself.

I can't remember whether I was porting code from unix to windows, or from one type of unix to another or (most likely) recompiling on a higher version of HP-UX.

It seems the time.h and its structures are not standard across the board and you may have to compile slightly different code based on your environment.

As Perderabo suggests you may need to examine the different compile switchs already available in your headers, or

use your own pre-processor directives to conditionally compile code, or

write your own time functions and use them instead.

MBB

Previous Thread | Next Thread
Test Your Knowledge in Computers #139
Difficulty: Easy
The early Unix environment and the client-server program networking model were key elements in the development of the Internet.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

C fdopen with and without -ansi

I have very little experience with gcc compilation under different environments, so please bear with me. I carried over 20 years old project into Ubuntu 18.04, it has old style K&R parameters, no function declarations to speak of, many functions without return are not declared void, and on and... (8 Replies)
Discussion started by: migurus
8 Replies

2. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

3. Programming

why the implementatoin of Bakery algorithm in ANSI C does not work in ANSI C

I follow the description of wiki (Lamport's bakery algorithm - Wikipedia, the free encyclopedia), then implement that algorithm in C, but it doesn't work, Starving is still here, is the implementation worry? Only print out: Thread ID: 0 START! Thread ID: 0 END! Thread ID: 0 START!... (2 Replies)
Discussion started by: sehang
2 Replies

4. UNIX for Dummies Questions & Answers

How to access a struct within a struct?

Can someone tell me how to do this? Just a thought that entered my mind when learning about structs. First thought was: struct one { struct two; } struct two { three; } one->two->three would this be how you would access "three"? (1 Reply)
Discussion started by: unbelievable21
1 Replies

5. HP-UX

Unix_ANSI to PC-ANSI

I want to convert a file from Unix-ANSI to PC-ANSI format. How can i achieve that? (0 Replies)
Discussion started by: ssmallya
0 Replies

6. Shell Programming and Scripting

Convert file from Unix - ANSI to PC - ANSI

Hi, I am creating a file in Unix using a shell script. The file is getting created in the Unix - ANSI format. My requirement is to convert it to the PC - ANSI format. Can anyone tell me how to do this? Thanks, Sunil (0 Replies)
Discussion started by: ssmallya
0 Replies

7. HP-UX

ANSI / C Compiler for HP-UX 11.11

Good Day I downloaded Server Evaluation copy of C/ANSI compiler, but when I try to compile a file with it, it gives me following error - (for HP-UX 11.11 v1 PA-RISC) Internal Error: Codeword file /opt/ansic/newconfig/ansic.cwd missing or empty. Detailed Errors are as follows Internal... (3 Replies)
Discussion started by: shawnbishop
3 Replies

8. HP-UX

ansi problem

Hi! Can anyone help me with the problem i am having. Im new to hpux and i am trying to set up the programs i use. One such program is the irc client BitchX, ive ran it on several pc/sun boxes with no problems. On my c360 with an fx6 card and a eizo f56 17in monitor (1024x768 85hz vesa) the ansi... (0 Replies)
Discussion started by: Lewis
0 Replies

9. Programming

Ansi C

Dear All, I have to develope some C functions in Unix for a Magic program. The original MSE code which compiles the attached C program uses a +z option, but the cc compiler don't know this. The complete command in the compiler script is 'cc -c -Aa +z myfile.c'. The warning message is 'The -z... (4 Replies)
Discussion started by: Frankie
4 Replies

10. Programming

K&R vs. ANSI

To anyone that can answer this: Are the differences great between the ANSI and K&R standard? What are some of the major differences between them?? -REM (1 Reply)
Discussion started by: REM
1 Replies

Featured Tech Videos