@thephd There is none (like with headers!). #includes and imports just 'nominate'. The connection between module names and their BMIs is done by 'module maps', e.g. generated by CMake after a module dependency scan.
Macros go into *any* module TU only from the commandline. Header units (stay away from them!) leak macros, named modules don't.
Please see my upcoming talk in Kongsberg.
Further investigation has been done. Concatenating the 5 .RSG files and de-duplicating produces no clashes. So, one could make an s_.rsg that #includes all the other files, and it should do the job.
Alternatively, piping all the files through `sort -u` will create an equivalent file.
However... As these apps are aimed to run on a 3a and above, I think I might as well just "target" the 3a by just including `sa_.rsg`.
If Rider for #UnrealEngine let me move source files and automatically fixed #includes that would be soooo nice.
@dthomas So much of the C build mess can be "fixed" by subverting it and using a "unity" build (i.e. where you actually only compile one thing, which is a file that #includes every other file in the project).
I like the irony that the whole problem of C's build structure is #include, but it's also the most powerful way to fix it.
Do we really want to do more #javascript to make #webcomponents ?
Adding more complexity to the 'modern front-end web development ' ?
Chris Ferdinandi shows another possible approach to ...
#stacklessway 4TW !
https://gomakethings.com/4-ways-to-include-external-content-in-your-html/
#javascript #webcomponents #html #includes #stacklessway
@Yujiri It's what I call "fake encapsulation." All it does is try to punish the programmer, but all the internal structure is still completely exposed to the compiler and the application. You can literally s/private/public/ in a bastardized header file, and use every internal in that class. That's why C++ takes *SO* long to compile, because everything #includes all internal structure of everything else, recursively. (It's just plain slow as well.)
The #Ten_Commandments
..AND THAT #INCLUDES_MONEY!
#1
Thou shalt have no other GODS before me.
BTW here is SATANS Future COMMING SOON!
NEVER AGAIN TO TORMENT HUMANITY;) FOR ETERNITY..
AFTERALL IT'S ONLY AN #IT!
AND IT'S #POWERLESS!
Disclaimer: http://DavidVTV.com and/or its owners [http://Tastingtraffic.com] are not affiliates of this provider or referenced image used. this is NOT an Endorsement OR Sponsored (Paid) Promotio...
#powerless #it #money #includes #INCLUDES_MONEY #Ten_Commandments #INTERNATIONAL_BIG_TECH
#INTERNATIONAL_TECH NEWS
Troubled #crypto_lender #BlockFi said Friday that it agreed to an option to be #acquired by #FTX for up to $240 #million.
CNBC on Thursday reported the base price could be as low as $25 million, compared to the $2.1 #billion that BlockFi has raised in #venture_capital funding.
The deal with FTX also #includes a $400 million #revolving_credit facility from the #crypto_exchange operator from FTX.
https://www.axios.com/2022/07/01/blockfi-to-be-acquired-ftx
Disclaimer: http://DavidVTV.com and/or it..
#crypto_exchange #revolving_credit #includes #venture_capital #billion #million #FTX #Acquired #BlockFi #crypto_lender #INTERNATIONAL_TECH
In schema.c it loads "ctemplate." then schema2.c it makes schema.ctpl.sql.h, then schema3.c it #includes schema.ctpl.sql.h then in fediverse/schema.c it depends on stuff from "schema" earlier, then in fediverse/schema2.c, it makes fediverse/schema.ctpl.sql.h, then fediverse/schema3.c it #includes schema.ctpl.sql.h. So invoke gcc 6 times generating 6 libraries to create the database schema... #fml
#International_Tech_News |
#How to #Use a #Poop_Bag - #Funny #Dog_Training Video
Dog ownership is a #massive_responsibility.
Training and keeping our dog's #safe and #being_responsible - that #INCLUDES cleaning up after the dogs and doing what's right for our #environment.
#DOG_WASTE is a #BIG_ISSUE, it might be funny, but we need to keep our neighborhoods #clean and our #planet cared for..
Disclaimer: DavidV.TV and/or its owners (Tastingtraffic LLC) ..
#planet #clean #BIG_ISSUE #DOG_WASTE #environment #includes #being_responsible #safe #massive_responsibility #Dog_Training #funny #Poop_Bag #use #how #INTERNATIONAL_TECH_NEWS
The strange thing is it uses libraries in a way I've never seen before. Collections of objects are just added to the command line as objects, no library needed. But a source file that #includes stuff from another project is going to need to have that project ready BEFORE compiling it, so I have like code in "make.c" to pull other projects and set things up, and then invoke gcc to compile idk "stage2.c" as a library, which I load with dlopen.
#RINSE & #REPEAT? | 700 #USA companies now located in #Ireland as direct investment soars??
The #Republic #includes #Google, #PayPal, #Intel, #BostonScientific, #Dell, #Pfizer, #Google, #HewlettPackard, #Facebook and #JohnsonandJohnson | 2018
https://www.theguardian.com/world/2015/mar/05/ireland-attracts-soaring-level-of-us-investment
Disclaimer: DavidV.TV and/or its owners (Tastingtraffic LLC) are not affiliates of this provider or referenced image used and this is NOT a Sponsored (Paid) Promotion/Reshare.
#johnsonandjohnson #facebook #hewlettpackard #pfizer #dell #BostonScientific #intel #paypal #google #includes #republic #ireland #usa #repeat #RINSE
So basically if project foo wants to use project bar, foo creates `foo/setup.c` which does not use any code in bar, but contains code to set up bar. Then foo has `foo/loaded.c` which assumes everything has already been set up and #includes bar stuff. After `setup.c` has setup the compiler, it compiles `loaded.c` then loads a function from the resulting library, and runs it. Foo can depend on the code in bar that way, in its `foo/loaded.c` source.
@akkartik the biggest problem, as I see it, is that by the time we get to the point where we're competent to both write programs and notice that we should be striving for this thing, our minds are poisoned by the influence "industrial" software development. Your analysis about Knuth's LP mistakes are extremely salient.
How do we keep from backsliding into, "Some #includes for our program -- don't mind these"?
Uuuurgh.
Compiler: foo.cpp: mir::Foo does not name a type
Me: I'm literally looking at “namespace mir { class Foo…” in foo.h, included from foo.cpp.
Compiler: 🤷♀️
Me: …
Me: Ah, one of the #includes has a mismatched ‘{’, putting everything in the mir::mir namespace instead. 🤦♀️
This is only particularly notable because it's the most recent issue I ran into while trying to build `nombre(1)` on Ubuntu 20.04 at work. I've also had to redefine a few flags to 0 and change #includes based on the presence of __linux__, but that was more expected. Not really any less annoying though when things build perfectly on #DragonflyBSD and #HardenedBSD then I get undefined symbols like `main` on Ubuntu :|
#hardenedbsd #dragonflybsd #includes
A cool post on birdsite reminded me: I remember being absolutely dumbstruck when I figured out how objects are defined in NetHack. It involves a .c file that #includes itself. Figuring out how that worked blew apart my entire understanding of what the C preprocessor could do. https://github.com/NetHack/NetHack/blob/NetHack-3.6.0/src/objects.c