isnan(NAN) results in -1 instead of +1 in C99 mode
It's not "strictly speaking." It's "standards compliant." First rule of compilers, never take results that are standard compliant and compare values. The comparison code is broken if it expects +1, as any nonzero value is valid.
Short answer: you MUST use the 64 bit toolchain. Long answer, .mex files are native DLLs loaded into Matlab's process space. Since Matlab has been 64 bit only for several releases now, you will be required to build 64bit mex files. Short of installing an old 32 bit version of Matlab, there is no way to do that.
This is actually an issue in binutils. For some reason, it's hrd coded to look for .dll as the target to follow DLL export rules. And fixing it is more than just building with a target of DLL and renaming the file, because the relocation table gets incorrectly built. I have a non odeal workaround somewhere, I will see if I can find later today when I have time.
Minor string assignment change works when compiled as 32-bit, compiles but crashes when compiled as 64-bit
ummm luck? You're assigning a const char* to a char*? who knows what is being done with the filename pointer in all the subroutine calls...I don't remember if C has warnings about losing the const modifier...
ummm luck? You're assigning a const char to a char? who knows what is being done with the filename pointer in all the subroutine calls...I don't remember if C has warnings about losing the const modifier...
secure boot is a false sense of security, dude. You have a BIOS password then? You're paranoid, all that stuff requires physical access to the machine, and if that happens, you've already lost. Secure boot is a requirement for the little Windows sticker. It was a way for Microsoft to force OEMs to only allow Windows to boot (the spec even has a provision that OEMs don't have to provide a method to disable it). Ubuntu 12 I believe has a boot loader with a secure boot key. What? int is defined as greater...