igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] Building igraph 0.6 rev 1601 with msvc9


From: Chris Wj
Subject: Re: [igraph] Building igraph 0.6 rev 1601 with msvc9
Date: Sat, 1 Aug 2009 21:23:51 -0400

Ok I spoke too soon.

From: http://msdn.microsoft.com/en-us/library/cx3b23a3(VS.80).aspx
C Language Reference
Inline Functions

Microsoft Specific

The __inline keyword tells the compiler to substitute the code within the function definition for every instance of a function call. However, substitution occurs only at the compiler's discretion. For example, the compiler does not inline a function if its address is taken or if it is too large to inline.

For a function to be considered as a candidate for inlining, it must use the new-style function definition.

Just make sure that jives with what you want, especially that "at the compiler's discretion" part.

On Sat, Aug 1, 2009 at 9:20 PM, Chris Wj <address@hidden> wrote:
>From http://msdn.microsoft.com/en-us/library/z8y1yy88(VS.80).aspx

The inline keyword is available only in C++. The __inline and __forceinline keywords are available in both C and C++. For compatibility with previous versions, _inline is a synonym for __inline.

That's the C++ documentation. They don't even mention __inline in the C documentation part.


On Sat, Aug 1, 2009 at 9:12 PM, Chris Wj <address@hidden> wrote:
Thanks for the updates Tamas, they will help out. There were a few other files missing from the msvc project that I added. They were relatively easy to pick out through trial and error though. I'll post/upload the project file when I have the last unresolved symbol figured out.

Yeah, while inline is a C99 standard keyword it seems like in MSVC only C++ recognizes inline, but C recognizes __inline. After a quick web search, it looks like many others had this issue too. They basically did the same thing you did to redefine inline to __inline. I'd still like to know why!


On Sat, Aug 1, 2009 at 4:11 PM, Tamas Nepusz <address@hidden> wrote:
Hi guys. I just built igraph 0.6 from bzr rev 1601 on Windows with msvc9 (VS 2008). I had to make changes in 2 files:
Fixed as well -- added M_SQRT2 to igraph_math.h and included it from src/centrality.c. I'm not sure about the inline stuff -- I thought that inline is a valid C keyword, but it looks like we have to live with a compiler-related hack here. Something like:

#if defined(_MSC_VER)
#  define inline __inline
#endif

I added the above code snippet to src/heap.c, hope this helps.


--
Tamas



_______________________________________________
igraph-help mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/igraph-help




reply via email to

[Prev in Thread] Current Thread [Next in Thread]