Timeline for answer to Switch between source code and precompiled binaries by Hooman Bahreini
Current License: CC BY-SA 4.0
Post Revisions
31 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| May 24, 2021 at 11:08 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 2 characters in body
|
| May 11, 2020 at 11:39 | comment | added | Chris F Carroll | In the managed world of .Net / C#, I think an API break is exactly equal to an ABI break? | |
| May 10, 2020 at 6:23 | vote | accept | TarmoPikaro | ||
| May 10, 2020 at 6:23 | |||||
| May 8, 2020 at 6:04 | history | bounty awarded | CommunityBot | ||
| May 3, 2020 at 0:56 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 2 characters in body
|
| May 1, 2020 at 20:05 | comment | added | Vlad | To avoid thinking about API / ABI in C++ it's worth to design API in COM-like style - using in API only interfaces (virtual functions). And passing only buildin or pointer to interfaces as parameters. Or you can use C functions as API, or opaque pointers. In short - your API <=> ABI. Otherwise if you pass std::string in dll method and change run-time version only in dll (or only in exe) then you have problems. If you change run-time everywhere then you shoul recompile even if API is intact. | |
| May 1, 2020 at 3:40 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1 character in body
|
| May 1, 2020 at 3:11 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 1 character in body
|
| May 1, 2020 at 3:05 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 8 characters in body
|
| May 1, 2020 at 2:56 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 8 characters in body
|
| May 1, 2020 at 1:15 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 1 character in body
|
| May 1, 2020 at 1:03 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 1 character in body
|
| Apr 30, 2020 at 23:43 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1103 characters in body
|
| Apr 30, 2020 at 23:38 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1103 characters in body
|
| Apr 30, 2020 at 23:32 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1103 characters in body
|
| Apr 30, 2020 at 23:21 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1103 characters in body
|
| Apr 30, 2020 at 23:14 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1103 characters in body
|
| Apr 30, 2020 at 10:13 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
edited body
|
| Apr 30, 2020 at 10:09 | comment | added | Hooman Bahreini | Please note that if you change the source code for your library, the other projects using this library will not break (unless you install the new version of nuget package)... which means you can modify the source code of your library without having to worry about breaking other program. | |
| Apr 30, 2020 at 9:52 | comment | added | TarmoPikaro | API - application interface, breaking means making interface non-compatible with previous version. See wiki pages: en.wikipedia.org/wiki/Binary-code_compatibility en.wikipedia.org/wiki/Application_binary_interface. API compatible means that interface is the same, but you need to compile your client code still. ABI compatible means that you can just replace old DLL with new DLL and it will work out of box. Normal break means that you add any new parameter and code will not work after that (requires client changes) | |
| Apr 30, 2020 at 9:37 | comment | added | Hooman Bahreini | Sorry I don't follow... what is API Break? | |
| Apr 30, 2020 at 9:34 | comment | added | TarmoPikaro | It's also possible to use nuget packaging for C++, see this link: digitalhouseblog.wordpress.com/2019/08/22/… But indeed that does not take side on API / ABI selection. | |
| Apr 30, 2020 at 9:29 | comment | added | Hooman Bahreini |
I don't really follow your question... generating a nuget package has nothing to do with your source control and git... you need to build your project and use nuget pack command from Command Prompt to get .nuget file... then install it where you need the package... just like installing any other library.
|
|
| Apr 30, 2020 at 9:23 | comment | added | Hooman Bahreini | Creating a nuget package is independent of your programming language, so long as you can open your application in Visual Studio and Build it, you can create a nuget package (please check the instructions in the link) | |
| Apr 30, 2020 at 9:20 | comment | added | TarmoPikaro | How api breaks can be handled with nuget packaging ? E.g. you break API (requires recompilation) or ABI (can work as it's without compilation) - how you can configure this from nuget packaging such breaks ? | |
| Apr 30, 2020 at 9:15 | comment | added | TarmoPikaro | Does nuget packaging works also for C++ code as well ? Can nuget package file generation be automated, for example if we have source code as separate git, can be use sparse git to get nuget package specification from that git ? | |
| Apr 30, 2020 at 7:33 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 12 characters in body
|
| Apr 30, 2020 at 7:23 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 12 characters in body
|
| Apr 30, 2020 at 7:11 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
added 1 character in body
|
| Apr 30, 2020 at 7:04 | history | edited | Hooman Bahreini | CC BY-SA 4.0 |
deleted 18 characters in body
|
| Apr 30, 2020 at 6:57 | history | answered | Hooman Bahreini | CC BY-SA 4.0 |