TweetFollow Us on Twitter

Oct 96 Top 10
Volume Number:12
Issue Number:10
Column Tag:Symantec Top Ten

Symantec Top 10

By Craig Conner

Q: I know that if I use the java.lang classes which extend number, like Double, Float, Integer and Long, I can get their values as a string without difficulty, however, I don’t like to use these classes and want to know how to coerce a standard number type into a string. For example, in C I could use sprintf(&str, “%d”, num); where num is some variable of type int and the contents of the string str would contain the value of num. How do I do something similar in Java?

A: There is a simple and elegant method to do just this. You can take advantage of the + operator in Java to add a string and a variable together. For instance, say you had an integer y that you wanted to be displayed next to the string “Output: “, you could do this by using the + operator: “Output: “ + y. If we assign an arbitrary value for demonstration purposes to y, say 5, then the result of the expression would be a string with contents “Output: 5”. So what if you just want the value of your variable as a string, without anything else? You could use this expression: “” + y. This results in a string that contains just the value of y as a string. This is handy when you want to output the contents of a variable to the system error window for debugging purposes like this: System.err.println(“” + y);

Q: In Symantec Café I want to make a standalone application so I setup my project to be an application rather than an applet, but when I get done building the project all I have is a .class file that presents the Applet Viewer upon double clicking. Can I make a stand alone application using Café?

A: Currently the only way to run the byte code that the Java compilers produce is through an applet viewer or through a Java capable browser. The major difference between generating an application rather than an applet in Café is that the security issues are not restrictive in an application, as they are in an applet. By generating an application, you are still generating Java byte code, not machine code native to the platform. This means that that byte code will still need to be interpreted at runtime by some implementation of a Java virtual machine, whether it is the Applet Viewer or a Java capable browser. Rumor has it that, in the future, Mac OS 8 will have a Java virtual machine built in. Ah, Mac OS 8.

Q: On the PPC, are floating point numbers aligned on the stack?

A: Normally floating point values are stored in floating point registers unless you are using the address of the floating point value. The significance of this is that, if the stack is not aligned on an 8-byte boundary, access to that double can be extremely slow due to misaligned accesses.

Q: How can I create a 68k code resource in the release 5 Symantec Project Manager?

A: You will need the 68K Code Resource project model and
files, available at:
ftp://ftp.symantec.com/public/devtool/mac/developer.tools.and.info/SPM68KCodeResource.hqx. Since the SPM currently creates a ‘SIZE’ resource for 68K applications, you will need to execute the “*Remove SIZE Resource*” AppleScript from the menu after building your code resource.

Q: I want to create a PPC shared library, but it appears that exporting names from the library is an all-or-nothing affair. How can I export only certain names from my library?

A: Use #pragma export list name[,name[...]] to specify certain names to export. Conversely, importing certain names is done through the #pragma import list name,[name[...]] option.

Q: How can I quickly calculate the ProcInfo value procInfoConstant, if I’ve defined it in my program?

A: Add the line long pinfo = procInfoConstant; as the first line in your main function, then disassemble your PPC code. You’ll find the value of the procInfo constant as a decimal value loaded into a register with an LI instruction (it should be the first LI in the main function), and the hexadecimal value will be the low word of the hex value to the left of that LI instruction.

Q: I notice that when I am linking my 68k project in the release 5 Symantec Project Manager it can take a really long time. Is there a way to speed up this process?

A: Yes! We are using the ToolServer, an external application, to invoke the LINK tool in order to perform the linking process. Since the ToolServer comes up in the background, link times are often longer than they need to be. To avoid this, and to speed up linking time for your 68k projects, simply bring the ToolServer to the front during linking.

Q: I have a PPC application that runs flawlessly in Native PPC but when I run the 68k version it causes runtime errors. How do I Debug 68k code generated from the release 5 Symantec Project Manager?

A: The Symantec C++ 8.0 Release 5 CD includes an external debugger called, SourceBug which will allow source level debugging of 68k Applications built with the Symantec Project Manager. Future releases of Symantec C++ will have integrated 68k debugging support.

Q: So now that I know I can debug my 68k project using SourceBug, how do I use it?

A: Here are some steps to help you out:

• Install SourceBug onto your hard drive by copying it from Apple Software:Debuggers:SourceBug on your 8.0 release 5 CD.

• Under the Project menu, choose Options... then go to the Linker page, select the “Output” option in the pop-up menu.

• Check the option Generate a Symbol file.

• Inside the Generate a link file box, select Full symbols. This will cause a myProj.SYM file to be generated when you build the application.

• Under the Build menu select Build Application.

• Launch SourceServer by double clicking on it from the Finder. You can locate an alias to the SourceServer application by looking in the (Tools) folder inside your Symantec C++ for Power Mac folder.

• From the Open dialog, open your 68k Application. The source code browser window will appear.

• Click on the main. in the stack crawl pane in the upper left.

• Click on the function you would like to debug in the pane to the upper right.

• Set break point(s).

• Select Run from the Control menu.

• Congratulations.

Q: How does the Enable Symbolic Debugging check box affect the .SYM output files, and why won’t it stay set when I save the Symantec Project Manager Options?

A: The inclusion of this checkbox is actually an oversight. Setting this checkbox, you may notice, had no effect on the symbolic output file that gets created by the linker. (See the linker options for 68k projects.)

Q: Then, how do I create an external symbol file so I can use external debuggers to debug my 68k project?

A: This Option is Set in the Linker page of the Options... item of the Project menu. Once you get to the Linker page, choose Output in the pop-up menu. To turn on External Symbol file generation, check the checkbox Generate a symbol file and select the Full symbols checkbox.

Special thanks to: Glenn Austin, Scott Morison, Andrew McFarland and Mark Baldwin.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Smultron 10.0.2 - Easy-to-use, powerful...
Smultron 10 is an elegant and powerful text editor that is easy to use. You can use Smultron 10 to create or edit any text document. Everything from a web page, a note or a script to any single piece... Read more
Capto 1.2.5 - $29.99
Capto (was Voila) is an easy-to-use app that takes capturing, recording, video and image editing to the next level. With an intelligent file manager and quick sharing options, Capto is perfect for... Read more
Cocktail 11.0.1 - General maintenance an...
Cocktail is a general purpose utility for macOS that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
Sketch 47.1 - Design app for UX/UI for i...
Sketch is an innovative and fresh look at vector drawing. Its intentionally minimalist design is based upon a drawing space of unlimited size and layers, free of palettes, panels, menus, windows, and... Read more
Slack 2.8.2 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.8.2: A small release containing nothing but another Electron... Read more
Path Finder 7.6.1 - Powerful, award-winn...
Path Finder makes you a master of file management. Take full control over your file system. Save your time: compare and synchronize folders, view hidden files, use Dual Pane and full keyboard... Read more
Sketch 47.1 - Design app for UX/UI for i...
Sketch is an innovative and fresh look at vector drawing. Its intentionally minimalist design is based upon a drawing space of unlimited size and layers, free of palettes, panels, menus, windows, and... Read more
Cocktail 11.0.1 - General maintenance an...
Cocktail is a general purpose utility for macOS that lets you clean, repair and optimize your Mac. It is a powerful digital toolset that helps hundreds of thousands of Mac users around the world get... Read more
Path Finder 7.6.1 - Powerful, award-winn...
Path Finder makes you a master of file management. Take full control over your file system. Save your time: compare and synchronize folders, view hidden files, use Dual Pane and full keyboard... Read more
Slack 2.8.2 - Collaborative communicatio...
Slack is a collaborative communication app that simplifies real-time messaging, archiving, and search for modern working teams. Version 2.8.2: A small release containing nothing but another Electron... Read more

Dune! guide - how to toe the line and ge...
Publisher Voodoo is at it again with an all new high score chaser -- Dune! In this fast-paced arcade game, you have to propel yourself along sand dunes, gaining enough momentum to jump above the line to score points, while making sure you have... | Read more »
The best deals on the App Store this wee...
Happy Tuesday, dear readers. Your favorite part of the week as officially arrived. It's time to take a look at the best deals in games. Things are admittedly a bit sparse, but there are a few diamonds in the rough to see you through if you're... | Read more »
Be the last person standing in Legacy of...
Yoozoo Games’ popular action MMO Legacy of Discord is getting a huge new update to celebrate its first anniversary. Perhaps the biggest change is the addition of an exciting survival mode titled Last Guardian. This new survival mode will pit you... | Read more »
Home Street guide - how to make friends...
From the creators of Food Street comes Home Street, a new simulation game that tasks you with building a social network and designing a beautiful home. It's a bit like The Sims, but you won't have to worry about the daily chores involved (feeding,... | Read more »
Color Ballz guide - how to bounce to the...
Color Ballz is an addictive new arcade title from Ketchapp Studios. It takes old school mechanics from games like Brickles and puts a fun twist on it. Your job? To catch balls with a paddle and send them back into a chute to be carried back to... | Read more »
Q&A: A-33 Studio explains why Combat...
When it comes to mobile FPS, it’s often tricky to get the fundamentals right on a platform lacking a physical controller, large display and hefty RAM. With Combat Squad: Project Wednesday, A-33 Studio bravely took on the challenge of making a... | Read more »
Taichi Panda 3: Dragon Hunter guide - ti...
Taichi Panda 3: Dragon Hunter launched this week to players all over the world. It's a beautiful mobile MMORPG that blends elements of Eastern and Western fantasy. It reminds us of a mix between World of Warcraft and Jade Empire. MMO's can have a... | Read more »
The best new games we played this week -...
Phew. It has been a week, but now it's time to relax, put your feet up, and enjoy some brand new mobile games. It was a bit of slow week, but there's still plenty of new titles to add to your collection. Here are four of our favorites. [Read... | Read more »
Yoink - Improved Drag and Drop (Product...
Yoink - Improved Drag and Drop 1.0 Device: iOS Universal Category: Productivity Price: $2.99, Version: 1.0 (iTunes) Description: Yoink for iPad and iPhone lets you easily and quickly store items you drag, copy or share, for later use... | Read more »
Cottage Garden (Games)
Cottage Garden 1.11 Device: iOS Universal Category: Games Price: $4.99, Version: 1.11 (iTunes) Description: | Read more »

Price Scanner via MacPrices.net

13″ MacBook Pros on sale for up to $120 off M...
B&H Photo has 2017 13″ MacBook Pros in stock today and on sale for up to $120 off MSRP, each including free shipping plus NY & NJ sales tax only: – 13-inch 2.3GHz/128GB Space Gray MacBook... Read more
15″ MacBook Pros on sale for up to $200 off M...
B&H Photo has 15″ MacBook Pros on sale for up to $200 off MSRP. Shipping is free, and B&H charges sales tax in NY & NJ only: – 15″ 2.8GHz MacBook Pro Space Gray (MPTR2LL/A): $2249, $150... Read more
Roundup of Apple Certified Refurbished iMacs,...
Apple has a full line of Certified Refurbished 2017 21″ and 27″ iMacs available starting at $1019 and ranging up to $350 off original MSRP. Apple’s one-year warranty is standard, and shipping is free... Read more
Sale! 27″ 3.8GHz 5K iMac for $2098, save $201...
Amazon has the 27″ 3.8GHz 5K iMac (MNED2LL/A) on sale today for $2098 including free shipping. Their price is $201 off MSRP, and it’s the lowest price available for this model (Apple’s $1949... Read more
Sale! 10″ Apple WiFi iPad Pros for up to $100...
B&H Photo has 10.5″ WiFi iPad Pros in stock today and on sale for $50-$100 off MSRP. Each iPad includes free shipping, and B&H charges sales tax in NY & NJ only: – 10.5″ 64GB iPad Pro: $... Read more
Apple iMacs on sale for up to $130 off MSRP w...
B&H Photo has 21-inch and 27-inch iMacs in stock and on sale for up to $130 off MSRP including free shipping. B&H charges sales tax in NY & NJ only: – 27″ 3.8GHz iMac (MNED2LL/A): $2179 $... Read more
2017 3.5GHz 6-Core Mac Pro on sale for $2799,...
B&H Photo has the 2017 3.5GHz 6-Core Mac Pro (MD878LL/A) on sale today for $2799 including free shipping plus NY & NJ sales tax only . Their price is $200 off MSRP. Read more
12″ 1.2GHz Space Gray MacBook on sale for $11...
Amazon has the 2017 12″ 1.2GHz Space Gray Retina MacBook on sale for $100 off MSRP. Shipping is free: 12″ 1.2GHz Space Gray MacBook: $1199.99 $100 off MSRP Read more
Bare Bones Software Releases macOS High Sierr...
Bare Bones Software has announced the release and immediate availability of BBEdit 12.0, a significant upgrade to its professional strength text and code editor. BBEdit 12 introduces a new foundation... Read more
Yale Announces Availability of Apple HomeKit-...
Yale Locks & Hardware has announced that Apple HomeKit support for its Assure Lock family is available this month. The new Yale iM1 Network Module, which provides support for the Apple Home app... Read more

Jobs Board

Fraud Analyst, *Apple* Advertising Platform...
Job Summary Apple Ad Platforms has an opportunity to redefine advertising on mobile devices. Apple reaches hundreds of millions of iPhone, iPod touch, and iPad Read more
*Apple* Information Security - Security Data...
Job Summary This role is responsible for helping to strengthen Apple 's information security posture through the identification and curation of security event data. Read more
Lead *Apple* Solution Consultant - Apple In...
…develop a team of diverse partner employees focusing on excellence to deliver the Apple story. Even when you're not present, you will maintain a consistent influence Read more
watchOS Frameworks Engineering Manager, *App...
Job Summary Join the team that is shaping the future of software development for Apple Watch! Apple is looking for an exceptional software engineering leader to Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description:SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.