On Wednesday 2009 January 14 11:31:14 Randall R Schulz wrote:
On Wednesday January 14 2009, Felix Miata wrote:
On 2009/01/14 14:23 (GMT+0100) Carlos E. R. composed:
Maybe...
Not maybe. Did you read the link? They are executable code that happens to require a special type of interpreter to execute.
Which makes it a one of those "yes and no" kind of things. Are Java / JVM or .Net / CLR bytecodes "executable?" Yes and no. No physical hardware in existence will execute them directly, certainly not x86, ia64, MIPS, PPC, etc. processors. Only a suitable virtual machine or interpreter can "execute" them.
Are scripts executable? They don't run on the hardware, they require a suitable virtual machine or interpreter. Are PE/COFF binaries (Win32) executable? They have instructions for the hardware, but also require services from a running OS that Linux doesn't provide natively. Are C++ binaries executable? They have instructions for the hardware, but also require a sizable library which the kernel doesn't provide.
...they should not have the executable flag in linux.
True, though it doesn't hurt anything if they do. ;-)
Right, 'cause they cannot be executed. Hence, not really "executable."
They can be executed, but they shouldn't have the executable bit set since it doesn't make sense to run them "in isolation". This guideline works well in most situations.[1] A java application or programs should be executable[2], but a java applet or servlet shouldn't. -- Boyd Stephen Smith Jr. ,= ,-_-. =. bss@iguanasuicide.net ((_/)o o(\_)) ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-' http://iguanasuicide.net/ \_/ [1] The biggest holdout is ELF (.so) libraries on Linux. The dynamic linker wants them to be executable for some reason. [2] The kernel support for alternative binary formats is a better solution than every Java or CLR program having to ship a script that is probably JRE / CLR-implementation specific.