Are g++4.4 c++98 object files compatible with g++4.8 c++11?
NickName:Mr Fooz Ask DateTime:2014-03-28T20:54:32

Are g++4.4 c++98 object files compatible with g++4.8 c++11?

I already know that it's unsafe to naively link g++4.4 c++98 object files with g++4.7 c++11 object files, but I see mixed opinions on the web about g++4.8. While the object file formats are mutually compatible, libstdc++ isn't, and in bad ways.

Is it safe to blindly link a g++4.4 -std=gnu++98 object file against another object file compiled with g++4.8 with -std=c++11 or -std=gnu++11? If so, why is it safe when doing the same with g++4.7 wasn't; furthermore, does this mean that g++4.7 with -std=c++11 is incompatible with g++4.8 with -std=c++11?

Copyright Notice:Content Author:「Mr Fooz」,Reproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/22713479/are-g4-4-c98-object-files-compatible-with-g4-8-c11

More about “Are g++4.4 c++98 object files compatible with g++4.8 c++11?” related questions

Difference between G2 = G .* G and G2 = G * G in Matlab GPU Computing

What's the difference between G2 = G .* G and G2 = G * G in the following codes? And why I get with first code GPU Load 100% and with the second I get GPU Load and Memory Controller Load sensors bo...

Show Detail

#define f(g,g2) g##g2

#define f(g,g2) g##g2 main() { int var12=100; printf("%d",f(var,12)); } The above program prints 100 in c by concatenating var and 12. How does g##g2 work??

Show Detail

Break in g:if / g:each

I have loop in gsp like this: <g:each in="${personInstance.followed}" var="c" > <g:if test="${c.equals(person)}"> <g:link id="${person.id}"

Show Detail

random returning (g, g) instead of (Double, g)?

I have this snippet of code: markovNextSS :: (RandomGen g, Ord a) => (MarkovChain a, a, g) -> (MarkovChain a, a, g) markovNextSS (chain, prev, gen) = let (gen', roll) = randomR (0.0,...

Show Detail

Find Haskell functions f, g such that f g = f . g

While learning Haskell, I came across a challenge to find two functions f and g, such that f g and f . g are equivalent (and total, so things like f = undefined or f = (.) f don't count). The given

Show Detail

Type of f g x = g . g x

It is not clear to me why the function defined as f g x = g . g x has the type f :: (b -> a -> b) -> b -> a -> a -> b I would have thought it would be of type f :: (t -

Show Detail

Python: understanding (None for g in g if (yield from g) and False)

James Powell, in his short description for an upcoming presentation, says he is the proud inventor of one of the gnarliest Python one-liners: (None for g in g if (yield from g) and False) I am tr...

Show Detail

g:include vs g:render

I have a question about pros and cons of g:render and g:include. In my application I have a piece of code that shows some information that have to be repeated in some gsp, what it show depends on a

Show Detail

The type parameter G is hiding the type G

public class MyGenericClass< G> { public <G> G genericMethod1(G g){ System.out.println(g.toString()); return g; } public <X> G genericMethod2(G g) {..

Show Detail

paintComponent(g) or paintComponent(g2)?

public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.fillRect(0,0,25,25); } OR public void paintComponent(Graphics g){

Show Detail