Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labview Code Interface Reference Manual.pdf
Скачиваний:
33
Добавлен:
29.05.2015
Размер:
1.13 Mб
Скачать

Chapter 1 CIN Overview

For example, to build a Power Macintosh makefile for a CIN named myCIN, execute the following command:

LVMakeMake -PPC myCIN > myCIN.ppc.make

## creates the makefile

You can then use the MPW make tool to build your CIN, as shown in the following commands.

make -f myCIN.ppc.make> myCIN.makeout

##creates the build commands myCIN.makeout

##executes the build commands

You should load the .lsb file this application produces into your LabVIEW CIN node.

Microsoft Windows 3.x

Microsoft Windows 3.x is a 16-bit operating system. Most applications written for it are 16-bit applications. A 16-bit application faces several obstacles when working with large amounts of information, such as manipulating arrays that require more than 64 kilobytes of memory.

LabVIEW is a 32-bit application without most of the inherent limitations found in 16-bit applications. Because of the way that CINs are linked to VIs, however, LabVIEW can use only code compiled for 32-bit applications. This is because CINs reside in the same memory space as VIs and work with LabVIEW data. To create CINs, a compiler must be able to create 32-bit relocatable object code.

The only compiler that currently supports the correct format of executables is Watcom C. The following section lists the steps for compiling a CIN with the Watcom compiler.

Watcom C Compiler

With the Watcom C compiler, you create a specification that includes the name of the file you want to create, relevant directories, and any external subroutines or object files the CIN needs. (External subroutines are described in Chapter 4, External Subroutines.) You then use the wmake utility included with Watcom to compile the CIN.

© National Instruments Corporation

1-29

LabVIEW Code Interface Reference Manual

Chapter 1 CIN Overview

In addition to compiling the CIN, the makefile directs wmake to put the CIN in the appropriate form for LabVIEW.

The makefile should look like the following pseudocode. You should append .lvm to the makefile name to indicate that this is a LabVIEW makefile.

name = name

Name for the code; indicates the base

 

name for your CIN. The source code

 

for your CIN should be in name.c.

 

The code created by the makefile is

 

placed in a new file, name.lsb

 

(.lsb is a mnemonic for LabVIEW

 

subroutine).

type = type

Type of external code you want to

 

create. For CINs, you should use a type

 

of CIN.

codeDir = codeDir

Complete or partial pathname to the

 

directory containing the .c file used

 

for the CIN.

wcDir = wcDir

Complete or partial pathname to the

 

directory containing the Watcom

 

compiler.

CinToolsDir = CinToolsDir

 

Complete or partial pathname to the

 

LabVIEW cintools directory,

 

which is located in the LabVIEW

 

directory. This directory contains

 

header files you can use for creating

 

CINs, and tools that the wmake utility

 

uses to create the CIN.

inclDir = inclDir

(optional) Complete or partial

 

pathname to a directory containing any

 

additional .h files.

objFiles = objFiles

(optional) List of additional object

 

files (files with an .obj extension)

 

that your code needs to compile.

 

Separate the names of files with

 

spaces.

LabVIEW Code Interface Reference Manual

1-30

© National Instruments Corporation

Chapter 1 CIN Overview

subrNames = subrNames (optional) List of external subroutines the CIN calls. You need subrNames only if the CIN calls external subroutines. Separate the names of subroutines with spaces.

!include $(CinToolsDir)\generic.mak

Execute the wmake command by entering the following in DOS.

wmake /f <name of your CIN>.lvm

Note: The wmake utility sometimes erroneously stops a make with an incorrectly reported error when it is run in the DOS shell within Windows. If this happens, run it in normal DOS.

The wmake utility scans the specified LabVIEW makefile and remembers the defined values. The last line of the makefile,

!include $(CinToolsDir)\generic.mak, instructs wmake to compile the code resource based on instructions in the generic.mak file, which is stored in the cintools directory. The wmake utility compiles the code and then transforms it into a form that LabVIEW can use. The resulting code is stored in a name.lsb file, where name is the CIN name given in the name line of the makefile.

Note: You cannot link most of the Watcom C libraries to your CIN because precompiled libraries contain code that cannot be properly resolved by LabVIEW when it links a VI to a CIN. If you try to call those functions, your CIN may crash.

LabVIEW provides functions that correspond to many of the functions in these libraries. These functions are described in subsequent chapters of this manual. If you need to call a function that is not supplied by LabVIEW, you can access the function from a dynamic link library (DLL). A CIN can call a DLL using the techniques described in the Watcom C manuals. A DLL can call any function from the C libraries. See Chapter 3, CIN Advanced Topics, for information on calling a DLL.

© National Instruments Corporation

1-31

LabVIEW Code Interface Reference Manual

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]