473,811 Members | 3,123 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Gcc version-ABI mismatch

Hi,
I have built a static library with a "C" interface and internally
written in C++. I have used most of the features of C++ like RTTI,
Inheritance, Virtual functions internally but have exposed only C
interface for the library user.
I have built the library in gcc 2.7. And the applications which
uses this library will be compiled in gcc 2.97. As per my knowledge,
gcc 2.7 is not strictly ABI (Application Binary Interface) compliant.
But, the application I have built seeems to be working fine without
any problems and all my functionalities are working fine as expected.
I wanted to know if there are any risks in using the library this way.
I understand that using higher versions of gcc with ABI compliance
should not give any problem.
Thanks,
Vinay Gudur
Aug 13 '08 #1
2 2140
Vinay Gudur wrote:
Hi,
I have built a static library with a "C" interface and internally
written in C++. I have used most of the features of C++ like RTTI,
Inheritance, Virtual functions internally but have exposed only C
interface for the library user.
I have built the library in gcc 2.7. And the applications which
uses this library will be compiled in gcc 2.97. As per my knowledge,
gcc 2.7 is not strictly ABI (Application Binary Interface) compliant.
But, the application I have built seeems to be working fine without
any problems and all my functionalities are working fine as expected.
I wanted to know if there are any risks in using the library this way.
I understand that using higher versions of gcc with ABI compliance
should not give any problem.
Two things.

1. You're OT here. Ask in gnu.g++.help
2. OT, but what the hey. gcc 2.7 is horrendously out of date.
Second, there was no official 2.97 for gcc (2.95 was the last
*OFFICIAL* 2.9x), but again, ask in gnu.g++.help
Aug 13 '08 #2
Vinay Gudur wrote:
Hi,
I have built a static library with a "C" interface and internally
written in C++. I have used most of the features of C++ like RTTI,
Inheritance, Virtual functions internally but have exposed only C
interface for the library user.
I have built the library in gcc 2.7.
Hmm, gcc 2.7.0 was released in the year 1995.
And the applications which uses this library will be compiled in gcc
2.97.
There is no such thing as gcc 2.97.
As per my knowledge, gcc 2.7 is not strictly ABI (Application Binary
Interface) compliant.
Not sure what you mean by "ABI compliant". There is no standard ABI.
But, the application I have built seeems to be working fine without
any problems and all my functionalities are working fine as expected.
I wanted to know if there are any risks in using the library this way.
As long as you link to the libstdc++ belonging to gcc 2.7, I'd say that
could work. But I'm not sure what happens if your program is C++ too and
you start linking two different versions of the C++ standard library into
your program.

Btw: Your question is off-topic here. You should ask in a more appropriate
newsgroup, like gnu.g++.help. comp.lang.c++ only deals with standard C++,
not with any specific compilers or other build tools.

Aug 13 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
7272
by: angelag | last post by:
I am currently taking a college course in Visual Basic.Net and I am a beginner. I bought Visual Studio.Net 2003 to do my homework at home. I built my first project and e-mailed it to myself at school. When I tried to open it in the lab, I got a message saying I couldn't open it because it was created with a newer version. Evidently the lab is using Visual Studio.Net 2002. My professor doesn't just want the executable file, he wants...
16
2762
by: Manlio Perillo | last post by:
Hi. I'm a new user of Python but I have noted a little problem. Python is a very good language but it is evolving, in particular its library is evolving. This can be a problem when, ad example, a module change its interface or its implementation in a fundamental way (an example: wxPython). This, I think, can be resolved by allowing an user to explicitly say what version of a module it wants (sush as version numbers in Linux shared...
2
8811
by: Terence Shek | last post by:
Is there a way to set the application binding policy so that it always binds to the latest version of an assembly? I'm hoping there is a way to avoid updating the application's binding configuration every time there is an update to a shared assembly.
2
630
by: j.b.messina | last post by:
This has not yet been published by Microsoft. It will be published within the next few weeks, mainly because I asked them to. I felt this was information badly needed, and I think this is the best group to share this information. A co-worker and I were able to determine how to tell exactly what version of .NET Framework is installed. We had to do this because we had to manually deploy the MS05-004 Security Bulletin to thousands of...
3
3075
by: Shadow Lynx | last post by:
At the bottom of the default Error page that appears when Unhandled Exceptions occur, what exactly is the difference between the "Microsoft ..Net Framework Version" and the "ASP.NET Version"? I understand that the ASP.Net version is the version of ASP.Net that the current site is running under and it can be retreived with System.Environment.Version.ToString. What exactly is the Microsoft .NET Framework Version that is displayed? It is...
2
1783
by: Hongbo | last post by:
Hi, I have a web site built in ASP.Net 1.1 running on production server. It's the version 1.0. Now I need to build the version 2.0 for this web site. The version 2.0 will be built based on the code of version 1.0. Since it take some time to have the version 2.0 ready for production, the code of version 1.0 needs to be kept somewhere for possible bug fix. At this point, the only feasible idea I have is: 1) create a new project for...
1
2162
by: Sky | last post by:
Yesterday I was told that GetType(string) should not just be with a Type, but be Type, AssemblyName. Fair enough, get the reason. (Finally!). As long as it doesn't cause tech support problems down the line... What happens when my code is run on a station that only has framework 3.0 or 4.0, and this assembly, with version number defined for 2.0.0.0 , isn't available. ...breaks? Second question: Does an assembly's PublicKeyToken change...
0
1924
by: ev951 | last post by:
I am not that familiar with XML or XSL and I am trying to sort application version number strings in an XML file that my team uses for application installations on our Linux servers. I have tried the xsl:data-type=number, but that doesn't work. The output of the XML file is exactly what the XML file has and I would like to sort it by the number value. Below is the some of the output from the XML file. <?xml version="1.0"?>...
8
3505
by: schaf | last post by:
Hi Ng! My application (version 1 a1) communicates with a service (version 1 s1). Now I would like to update the service and create a service version 2 (s2). The new function calls within s2 are implemented in a new interface, which derive from the old one to ensure that an old version of my application (a1) still works with s2. If i run my new version of the application a2 with s1 I get a InvalidCastException (Return argument has an...
4
3181
by: Bob Altman | last post by:
Hi all, I have a C++/CLI project (VS 2005) that produces a DLL that exports C bindings. Internally, this DLL contains routines compiled with /clr. I notice that my DLL doesn't have a version resource. I assume that, unlike C# and VB, C++ doesn't automatically generate a version resource. Is there any way to make this happen? In particular, I don't want to have to manually update the file version in the version resource to keep it in...
0
9607
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10398
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10416
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10138
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9215
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7676
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6897
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
1
4357
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3028
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.