|
Interesting, although I'm not sure if I never call it if it will compile what it uses. The g++ compiler is awfully good at avoid work it doesn't have to do.
To err is human. Fortune favors the monsters.
|
|
|
|
|
BTW: when I do macros in C, I preface their names like my initials JM_putc. Avoids nasty name clashes especially with other people's code.
Wow, you do have complex situation. Your software and hardware is so close together, I see why it's hard to compare and contrast. I was speaking mostly of hardware comparisons, but that line with software in your case is pretty thin. If you can do two hardware units at a time, then yes that is preferable. Still need good pass/fail criteria to keep testing consistent.
Hope you have good AC. It gets mighty hot here in summer, so 2 heavy-duty number crunching desktops and 2 laptops running at once can be a challenge. I also have very beefy UPS units for each desktop. A must. Space is an issue as well so I completely understand. You definitely need more with that many units involved.
One giant workbench with power everywhere. My dream.
|
|
|
|
|
I think whoever put that macro in intended it to stand in for the C function putc, but why it's a macro and not a function is beyond me. If they wanted to inline it they should have used a GCC attribute, after all that macro came from a compiler specific header.
I really want to like, make whoever did that watch it break my build on travis-CI and then show them why, and then ask them to explain to me why they used a macro instead of a function as God/FSM/Kevin intended.
To err is human. Fortune favors the monsters.
|
|
|
|
|
|
was being inclusive
To err is human. Fortune favors the monsters.
|
|
|
|
|
|
FSM? Flying Spaghetti Monster.
To err is human. Fortune favors the monsters.
|
|
|
|
|
LOL
FORTRAN 66 was my first language. Spaghetti code was our professor's favorite term used earlier versions of FORTRAN.
|
|
|
|
|
Redefining C functions with macros is permitted, but must be done properly and well documented as such.
Grrrr. Been burned as well.
|
|
|
|
|
Quote: ... and even errors that may only appear when certain components of the code are used a certain way - or on a certain platform
Is that not the reason why one does tests?
|
|
|
|
|
Yes, but normally most of your code will compile. There are significant swaths of GFX that don't compiled, only parsed.
It means, compile errors can hide in my code.
To err is human. Fortune favors the monsters.
|
|
|
|
|
I use one of these. It's inexpensive, gives you 7 USB 3.0 ports, and will work with or without being powered by the wall wart. That should solve your USB port issue.
Amazon.com: USB 3.0 Hub, RSHTECH 7 Port Powered USB Hub Expander Aluminum USB 3.0 Data Port hub with Universal 5V AC Adapter and Individual On/Off Switches USB Splitter for Laptop and PC(Black) : Electronics[^]
Are you intending to run all of the devices at once, or just a few at a time? If it's a few at a time, you could set up multiple VMs running minimal linux distros and install VSCode/PlatformIO on those. You'd probably need to bump up the memory on the host machine to allow the memory for that.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
These need to be connected to a powered USB hub, particularly when all of them are turned on. I have one I swear by. I can run them all, testing each in probably in serial with each other, though parallel might be possible. The biggest issue I have is actual physical space. This project really needs its own room.
To err is human. Fortune favors the monsters.
|
|
|
|
|
|
I can't wait!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Hmm, you sound like a procrastinator
|
|
|
|
|
I'm so lazy that I even put off procrastination!
|
|
|
|
|
|
One is waiting for the doctor person.
|
|
|
|
|
Disclaimer: This is not intended as a programming question. I'm looking for experience and/or references to resources. I tried asking this question in Q&A and wasn't successful posting it, as any keyword I specified was rejected. Before you condemn me for asking here, I have searched on both Microsoft Docs[^] and general Googling with little or no success.
I have a Windows shell extension for an in-house diagnostic tool. Under Windows 11, the context menu entry it supplies is relegated to the "Show more options" submenu in Explorer. Naturally, I'd like to make my context menu entry a 1st class citizen. There is exactly one example that purports to demonstrate how to do this, and the comments indicate that it doesn't work. Microsoft's documentation isn't coherent on the subject. The gist of it seems to be that your application needs to be packaged like a UWP app, which requires a signing certificate and a whole lot of other bric-a-brac. By their own admission, VS2019 doesn't include the "tooling" to make this easy.
Has anyone done this, or do they have any suggestions?
Software Zen: delete this;
|
|
|
|
|
|
Gary R. Wheeler wrote: By their own admission, VS2019 doesn't include the "tooling" to make this easy As long as you have the current Windows SDK[^]. Everything you need is in there... including MakeAppx and SignTool.
|
|
|
|
|
An optimist believes we live in the best of all worlds.
A pessimist believed we live in the best of all worlds.
Not sure who I stole this one from.
"Time flies like an arrow. Fruit flies like a banana."
|
|
|
|
|
Alternate second line: Yes, I'm afraid so.
Another optimist/pessimist:
Optimist: The bottle is still half full.
Pessimist: It is half empty already.
Optimist: Yes, but I am half full, too!
|
|
|
|
|
Quote: Optimist: The bottle is still half full.
Pessimist: It is half empty already.
The engineer asks “Are we filling it or emptying it?”
If you can't laugh at yourself - ask me and I will do it for you.
|
|
|
|