Silverfrost Forums

Welcome to our forums

insert command for SLINK64

16 Oct 2016 10:55 #18136

Would it be possible to ask for the insert command (inserting other scripts into current script) to be added to the features for the next release? It is something we are using really frequently at the moment with the myriad of files... Thanks

17 Oct 2016 12:34 #18137

I am not familiar with your request, but could it take the form of:

Link with: slink64 @load_list.txt

Where load_list.txt could look like: lo main.obj lo sub1.obj @load_parta.txt @load_partb.txt @load_libraries.txt map plot.map file plot.exe

If this is the functionality you are suggesting, it could be useful

Alternatively we could have a library/archive manager for slink64 and so have: le \libraries\liba.lib etc

Your suggestion does look good. perhaps even both ?

John

17 Oct 2016 5:45 #18140

It is already possible to provide an 'inf' file on the SLINK64 command line.

Within a Fortran program you can use

INCLUDE 'filename'

What is the context of this request?

17 Oct 2016 10:40 #18154

Paul,

The two alternatives I have outlined could improve SLINK64.

  1. Is there a timeline for creating/supporting .lib files with slink64 ? (or have I missed that it is already available ?)
  2. The idea of @file inside the 'inf' file does have some merit, especially if .lib files are a way off. This could be an easy patch, which would provide a similar functionality to .lib, especially if @tree_name is supported.

John

18 Oct 2016 6:07 #18155

John

I will add these two suggestions to the wish list. The wish list doesn't have an associated public time line.

As an alternative to a lib, I have suggested creating an obj file from a master source file containing only INCLUDE statements.

18 Oct 2016 10:39 #18157

Sorry, what I meant was something like this

archive map insert w_objs.txt lo app_main.dll

;exportall file llib.dll

where archive creates a lib file (together with the dll), and insert appends another script file.

Thanks

18 Oct 2016 12:15 #18159

One way to do that might be to use a resource script.

You might be able to use the SRC compiler with a script containing the line

ID RCDATA 'filename'

You may need to find the value of RCDATA. ID could be a number the that you choose. I have not tried this so it may not work.

6 Jan 2017 8:13 #18668

How exactly make 64bit OBJ file with SRC?

Before i used command SRC file.rc

File.rc contained statements exactly like in RESOURCES

Pie01 icon resource\icons\Pie01.ico

etc...

Right now RESOURCES command does not work if compile each file separately and then link them using SLINK64. Just use SRC old way makes 32bit OBJ and linker does not accept it

6 Jan 2017 8:23 #18670

Use SRC to create a res file with the option /r. See the notes on porting to 64 bits.

6 Jan 2017 9:24 #18671

Thanks for the hint, problem solved. I am sure it would help to make a note in this Porting 64 Guide that /r creates not OBJ file like with 32bits but RES file.

8 Jan 2017 1:52 #18682

Paul,

My program development approach is based on using .lib files, where slink(64) commands like the following make developing new programs very easy: le \clearwin\graphlib.f95\graphlib.lib le \clearwin\clearlib.dev\crtlib.lib le \clearwin\plotlib.f95\plotlib.lib le \clearwin\saplib.mem\saplib.lib le \clearwin\iolib.f95\iolib.lib map saplot.map file saplot.exe

Without 'le' I need better diagnostics to help develop the 'lo' list. So I would vote for slink64 being able to both create .lib files and then use them. ( Is there a problem with this approach in 64-bit that I don't understand ? )

There are alternatives, such as loading everything, or moving to modules with CONTAINS, but I find the old .lib way much easier.

Is this yet another coding approach where I need to change ?

John

8 Jan 2017 7:29 #18683

John

My understanding is that there is no particular difficulty in providing this facility. It's just one of many tasks waiting to be done.

Please login to reply.