That's true C isn't so "flexible" in some cases. When i started learning C- i still do i'm not an expert - i was searching if there is an "auto" way to reverse a string instead doing loops to reverse it. Then i found "strrev". It works great when you obtain the string with "gets_s", but not, when you use "fgets" because when it reverse the string it will add the '\0'. I mean C has some "weird" features
Same for the bit operations. I was trying to find an "auto" way to do rotation -left and right- at least for the ROL/ROR, not RCL, RCR, instead writing inline assembly or writing expressions like: x = ((x & 0x80) ? 0x01 : 0x00) | (x << 1). Luckily i found the "intrin.h" header which has quite a few assembly functions.
Speaking of "not-flexible" C another question appeared, which i had forgotten (until now)! A lot of times coding keygens i have seen mismatches of the FPU values (in assembly) and the floating/double values i used (in C). What is going on with this case? Any ideas? - Again inline assembly helps on that
Unsigned types are zero extended and signed types are sign extended with shift instructions. C does not have efficient implementations of some hardware details.
For example, shifting left or right by 1 gives the removed bit in the carry flag CF. Or addition/subtraction. But in C you must do some bit twiddling expressions to turn a native efficient operation into something taking a few instructions. I doubt the compiler actually optimizes it.
So if you want to shift a big integer stored in an integer array, it will be an annoyance especially since rotate with carry or double precision shifts are strictly necessary. No idea if SIMD instructions can speed this up given it's a sequential memory op
if anyone knows about ffmpeg and undertstand mux ,
please pm me , rest thing i will explain , there is no need money
I Tried this but its for windows media player only , original ffmpeg other option dont have
we need muxer
the person if anyone inject he will be partner of my app developer dashboard