Jump to content
Excelsior Forums


Excelsior Staff
  • Content count

  • Joined

  • Last visited

Everything posted by snowman

  1. reverse engineering

    We have certain internal tools to aid field engineering, and of course our engineers know the product inside out, so they have an advantage over the rest of the world. But without debug information the tools are of not much help, and optimized x86 code is much harder to comprehend than a decompiled class file, for everyone. lg Clemens: Some of the high-level information has to be preserved, e.g. for the reflection to work. So it may be a good idea to do name obfuscation and string encryption before native compilation. See Knowledge Base Article 000023, "HOWTO: Maximize protection of your application against reverse engineering" for more information.
  2. Just use "x<>y" or "x#y" instead of "NOT (x=y)".
  3. Run "xlink @obj\tmp.lnk" from the command line and seek the error message in the output.
  4. more vista install problems

    As a side note, you do not need to install MP1 before MP2, they are cumulative.
  5. AND on bitsets is denoted by "*" in ISO Modula-2. You probably need bitwise AND on cardinals. Turn on the option M2EXTENSIONS, and the operators AND, OR, and NOT should start working on cardinals.
  6. What does that operator do in SBM2?
  7. GDI+ problems

    As far as I can recall, there once was a (deprecated) plain C API for GDI+. The C++ API used to be nothing more than a wrapper for that. You could try searching MSDN library.
  8. You seem to be migrating from a legacy compiler. I highly recommend that you read the Chapter "XDS Modula-2" in the User's Guide.
  9. See Native XDS-x86 (or XDS-C) User's Guide, Section XDS Modula-2->Source code directives->Conditional compilation
  10. There is an option GENCPP, but it won't make much difference.
  11. GTK+ in Modula 2

    For convenience, you may copy the xc.tem file and modify it to include the extra libraries, then specify the modified file in the -template equation in your prj file. ... !if (env_target="x86linux") then ! "\tgcc $(LFLAGS) -o $(TARGET) $(OBJ) $(XLIBS) $(TSLIBS) $(XDSLIB) $(XMACLIBS) -lm -lncurses\n" !elsif (env_target="linux") or (env_target="aix") then ... Just add [tt]" -lgtk"[/tt], [tt]" -lgdk"[/tt], etc. after [tt]"-lncurses"[/tt].
  12. The XDS core is bootstrapped. The runtime is written in Modula-2 and a bit of assembly (in case of Native XDS-x86), and the compiler is written in Oberon-2. Other components: IDE - C (do not ask why ) XD - Modula-2 XLINK - C++ etc.
  13. See this post in Excelsior blog.
  14. Smart linking won't help that much due to interdependencies between the standard API classes. As I said, run [tt]java -verbose HelloWorld[/tt] and count the number of classes loaded. It is also unsafe to omit classes and methods not explicilty imported and referenced, as you may do in C++, because they may be loaded and referenced by name using JNI or reflection. We have an idea on solving the latter problem, though. Again, stay tuned.
  15. Ok, now that it's official, we do not plan to open source Excelsior JET in the near- to mid-term future, which means we may not use the GPL-ed version of the JDK. Note also that Sun is not going to open-source the TCK tests, and if you may not test your implementation for compatibility, you may not call it "Java", and compatibility is important for our customers. So we shall continue using the Java SE API implementation under the Commercial Use license, nothing will change for us in that regard. A 100KB app is hardly possible in a compatible implementation. Just run "Hello, World" on HotSpot with [tt]-verbose[/tt] and count the classes that get loaded. "A few MB" sounds more realistic, depending of course on what exactly "a few" evaluates to. Stay tuned.
  16. To the best of my knowledge, this was not officially announced by Sun. I see little sense in commenting on something that may turn out not to be true.
  17. Excelsior Birthday Sale

    Excelsior LLC will turn seven years old tomorrow, October 8th, 2006. As usual, we are offering very special prices on selected products in connection with our anniversary. Excelsior JET 4.5, Professional Edition for Windows - $1,150 $2,300 Excelsior JET 4.5, Professional Edition for Linux - $1,150 $2,300 Excelsior JET 4.5, Professional Edition for Windows & Linux - $1,725 $3,450 One year of Standard Support is included. You can use any payment method, but the coupon will only work if you place your order between 12:00 a.m. and 11:59 p.m. October 8th, 2006 Central European Time (GMT+2). Should you need to enter the coupon code later in the order process, it is "7-YEARS".
  18. I will spend the last two weeks of October in San Francisco Bay Area on business. If you are an Excelsior JET user based in Silicon Valley or will be there at that time by chance, I would appreciate an opportunity to meet you in person to learn about your use of our product and to discuss how we could make it serve your needs better. I would also be happy to conduct a presentation of our products and services at your premises, at your JUG meeting, or elsewhere. Please drop me a line at dleskov@excelsior-usa.com if you are interested. Dmitry Leskov Director of Marketing Excelsior LLC
  19. Silly me! I overlooked the fact that you are using Win32 API directly. What if you call Storage.ALLOCATE after GlobalAlloc returns NIL? Will it fail or succeed?
  20. As far as I can recall, Native XDS-x86 2.51 allocates for the heap the largest contiguous block of memory available from the operating system, provided of course you specify some huge value for HEAPLIMIT. It seems the size of such block on your system is 1.4GB.
  21. Would you please modify your C and StonyBrook M2 programs so that they fill those arrays after allocation and post the results here?
  22. J2EE Application Compilation

    I have emailed the detailed answer to you, but I think posting information about costs and revenues sharing here makes sense. In general, you may engage us to add any feature to Excelsior JET, from minor enhancement to new platform support. If the result shall be a customized version for your own internal use, we would charge you at the full rate. If the result shall be available to all Excelsior JET customers, we would reduce the rate according to the demand for that feature. Moreover, if the demand is so high that meeting it would generate lots of new sales (think Excelsior JET for Mac OS X ), we would be willing to share the revenues with you.
  23. How to upgrade from 4.1 to 4.5

    We have emailed the download instructions for v4.5 to all customers with active Maintenance Contracts on the release date. The problem in your case is that ComponentSource's policy is to not communicate the email address of their customers to product vendors. Please email our Sales Dept. the serial number of your license or a copy of your ComponentSource receipt, and we'll send you the download instructions for 4.5 right away. You would have to either remove 4.1 before installing 4.5 or make them co-exist by renaming the 4.1 installation directory and installing 4.5 into the same directory where 4.1 was installed. You will then be able to switch between them by renaming the directories. Make sure to back up your 4.1 project files though as they will be upgraded if you open and save them in 4.5.
  24. Excelsior JET, Professional Academic Edition is available now, with price reduced to $100 for a single-platform license. The Windows+Linux bundle would cost you $150. Read more about the Academic Licensing Program