09-18-2011
Quote:
Originally Posted by
agama
An enum is interpreted by the compiler and not the preprocessor.
That explains it.
Okay, redone with #define's and it works. Ordinarily I'd avoid preprocessor tricks, except PIN_A defines a value that's used in both preprocessor and expression contexts -- it can be used as an integer like (1<<PIN_A), to define an 8-bit number to be fed into PORTA, or as part of a variable name RA[0-9] to define a member of a bitfield...
8 More Discussions You Might Find Interesting
1. Programming
helo i have asked in exam what that what is the base type of
enum
options are given bewlo
(1) long int
(2) short int
(3) signed int
(4) unsigned int
can u tell me what is the exact answer from the above option
Regards,
Amit (1 Reply)
Discussion started by: amitpansuria
1 Replies
2. IP Networking
Hi Guys,
This is really really urgent. Am looking out for some quick answers.
I'm developing a DNS Resolver client that interprets DNS Query repsonses & pass on the needful to DNS applications.
When an ENUM query(modified to an nslookup naptr query) is issued & an NAPTR RR(Resource Record)... (1 Reply)
Discussion started by: smanu
1 Replies
3. Programming
Hi,
Anyone please explain the functionality of ## in c.
I didn't get the following preprocessor directives,
# define LL(x) x ## LL
# define LL(x) x ## i64
Thanks,
Naga:cool: (1 Reply)
Discussion started by: Nagapandi
1 Replies
4. Programming
#include <iostream>
#include <stdio.h>
using namespace std;
typedef struct A
{
enum a{ red,blue,green}a;
}obj11;
obj11 obj1;
int main()
{
//obj1.a=red; // how to set variable ?
cout<<"sizeof struct is n"<<sizeof(obj1);
cout<<"obj1.a is"<<obj1.a;
if... (1 Reply)
Discussion started by: crackthehit007
1 Replies
5. Programming
Hi,
Just wondering if it is possible to trim the file path output by __FILE__ preprocessor in my debugging line.
Let's say my main.cpp file is found in C:\User\MyName\SystemA\Mod1\SubMod2\Test\main.cpp
for __FILE__, I just want the filename - main.cpp to be printed, instead of the entire... (2 Replies)
Discussion started by: tanlccc
2 Replies
6. Programming
I am trying to implement a spare array in C that would be referenced by regular integers.
Right away: define array for maximum possible index elements completely is not what I trying to get!!!
It should be a construction that would have just 2 elements if I need to have just two indexes, like... (8 Replies)
Discussion started by: alex_5161
8 Replies
7. Programming
Hi All,
I came across this error "MIXING ENUM TYPES" when I run my C program against the Coverity Tool. I've made many search relating to the error, but I didnt find the exact solution. Can anyone help me to overcome this.?
Thanks in Advance.!! (3 Replies)
Discussion started by: Parameswaran
3 Replies
8. Programming
I am currently using Linux CentOS and programming in FORTRAN 90 using Portland 7.1 compiler.
I am able to set in the preprocessor directives a flag called TEST. when I go to use logic in my code i can write
#ifdef TEST
execute something
#endif
Furthermore, if I want to negate the... (2 Replies)
Discussion started by: prodigious8
2 Replies
RATFOR(1) General Commands Manual RATFOR(1)
NAME
ratfor - ratfor preprocessor for Fortran 77
SYNOPSIS
ratfor [-l n] [-C] [-o outputfile] filename
PARAMETERS
-l n Set starting label number.
-o output
Specify output file; default is stdout.
-C Keep comments in (useful for compiler directives).
-? Show summary of options.
DESCRIPTION
Ratfor has the following syntax:
prog: stat
prog stat
stat: if (...) stat
if (...) stat else stat
while (...) stat
repeat stat
repeat stat until (...)
for (...;...;...) stat
do ... stat
switch (intexpr) { case val[,val]: stmt ... default: stmt }
break n
next n
return (...)
digits stat
{ prog } or [ prog ] or $( prog $)
anything unrecognizable
where stat is any Fortran or Ratfor statement, and intexpr is an expression that resolves into an integer value. A statement is terminated
by an end-of-line or a semicolon. The following translations are also performed.
< .lt. <= .le.
== .eq.
!= .ne. ^= .ne. ~= .ne.
>= .ge. > .gt.
| .or. & .and.
! .not. ^ .not. ~ .not.
Integer constants in bases other that decimal may be specified as n%dddd... where n is a decimal number indicating the base and dddd...
are digits in that base. For bases > 10, letters are used for digits above 9. Examples: 8%77, 16%2ff, 2%0010011. The number is con-
verted the equivalent decimal value using multiplication; this may cause sign problems if the number has too many digits.
String literals ("..." or '...') can be continued across line boundaries by ending the line to be continued with an underline. The under-
line is not included as part of the literal. Leading blanks and tabs on the next line are ignored; this facilitates consistent indenta-
tion.
include file
will include the named file in the input.
define (name,value) or
define name value
defines name as a symbolic parameter with the indicated value. Names of symbolic parameters may contain letters, digits, periods, and
underline character but must begin with a letter (e.g. B.FLAG). Upper case is not equivalent to lower case in parameter names.
string name "character string" or
string name(size) "character string"
defines name to be an integer array long enough to accommodate the ASCII codes for the given character string, one per word. The last word
of name is initialized to the symbolic parameter EOS, and indicates the end of string.
KEYWORDS
ratfor fortran preprocessor fortran77 ratfor77
Jun 1996 RATFOR(1)