Calling stdcall and cdecl functions from DLLs and function pointers. (draft)
|
|
- Joshua Lindsey
- 5 years ago
- Views:
Transcription
1 Calling stdcall and cdecl functions from DLLs and function pointers. (draft) ot4xb.dll provide support for calling function pointers, usually obtained from a DLl exported function, but also from a COM interface or any other API As the values of the parameters and return types not matching with the Xbase++ types, a type conversion is required in all cases. ot4xb.dll provide 2 ways to convert the provided values and return types: Inferring the required type from the provided Xbase++ values: nfpcall() when the return value is a 32 bit value and ndfpcall(), qwfpcall() when the return value is double or int64. Using a prototype string describing how to convert the provided parameters and also the returned value. FpQCall() for stdcall and cdecl functions, and IFpQCall() for COM interfaces
2 nfpcall(),ndfpcall(),qwfpcall() Call a STDCALL or CDECL function returning a 32 bit value from a provided pointer, converting the parameters as required. nfpcall( <fp>, params... ) -> n32bitresult ndfpcall( <fp>, params... ) -> n64bitfloatresult qwfpcall( <fp>, params... ) -> n64bitint Parameters: <fp> If numeric must be a function pointer like the result of ngetprocaddress(). If a string must be the result of DllPrepareCall() <params... > Required parameters of the called function. Return Value: nfpcall() will return always a 32 bit integer value. BOOL functions will return 0 when.f. or any other value meaning.t. Notes: If the function returns a 32 bit float value you must convert it using UnPackFloat32() To get 64 bit integer values use qwfpcall(). To get 64 bit float values use ndfpcall(). Calling conventions: This function support CDECL and STDCALL calling conventions. The calling convention is detected on the fly and the stack are restored according with the right calling convention. FASTCALL and THISCALL are not supported by this function.
3 Parameter type conversion: <Xbase++ LOGICAL by value> The value of the parameter will be passed as BOOL to the called function. <Xbase++ LOGICAL by reference> A reference pointer to this parameter will be passed as BOOL* to the called function and updated when the function return. <Xbase++ NUMERIC by value> The value of the parameter will be passed as LONG to the called function. Decimal values will be truncated. You can call also parameters prototyped as shorter values like WORD, int16, BYTE or CHAR because CDECL and STDCALL pass the values in 32 bit packs, so the high part will be ignored in this cases. <Xbase++ NUMERIC by reference> A reference pointer to this parameter will be passed as LONG* to the called function and updated when the function return. If you call parameters prototyped as pointer to shorter values like WORD*, int16*, BYTE* or CHAR* you will need to adjust the result manually after the call using functions LoWord() or LoByte() <Xbase++ CHARACTER by value> The value of the parameter will be passed as a READ-ONLY BUFFER ( LPCSTR ) to the called function. <Xbase++ CHARACTER by reference> The value of the parameter will be passed as a READ-WRITE BUFFER ( LPSTR ) to the called function. Providing 64 bit integer parameters: NIL + <Xbase++ CHARACTER by value> This a special case used to provide int64 values to the called function. In this case the string MUST have 8 BYTES corresponding to the binary reprentation of the 64 bit integer. You can convert numeric double values to a 64 bit binary integers using the function Double2LongLong()
4 NIL + <Xbase++ CHARACTER by reference> Same as above but the value will be passed as int64* and the result will be writed back after the functions returns. Providing float double values: NIL + <Xbase++ NUMERIC by value> This a special case used to provide float double values to the called function. NIL + <Xbase++ NUMERIC by reference> Same as above but the value will be passed as double* and the result will be writed back after the functions returns. Providing 32 bit float values: You can provide 32 bit float values packed as Xbase++ numeric values with the function PackFloat32() or pointer to 32 bit float passing them by reference. OT4XB Extended pointers: OT4XB allow you to provide pointers to structures in an easy way using arrays and objects. <Xbase++ ARRAY of NUMERICs> If you provide an Xbase++ array of numeric values will be passed to the called function as buffer containing an array of int32 values. If passed by reference the buffer values will be written back to your array. <OT4XB GWST OBJECTs > If you provide a GWST subclass instance like created with structure commands the pointer to the struture will be provided to the called function.
5 FpQCall() Call a STDCALL or CDECL function using a character template describing the function prototype, so the provided parameters will be transformed ( in and out) according with this prototype, and also the return value will be retrieved from the correct place according with the prototype. FpQCall( <fp>,<prototype>,params... ) -> n32bitresult Parameters: <fp> If numeric must be a function pointer like the result of ngetprocaddress(). If a string must be the result of DllPrepareCall() <prototype> String composed by 4 characters describing tghe return value and 4 characters for each parameter to describe the corresponding required types. <params... > Required parameters of the called function.
6 Prototype templates for FpQCall and IFpQCall() template type " vo" VOID... xb PXBASEVAR bo BOOL sc INT8 uc BYTE ss INT16 us WORD sl INT32 ul DWORD sq INT64 uq QWORD f4 FLOAT f8 DOUBLE pt PSL_OR_PT LPBOOL LPINT8 LPUINT8 LPINT16 LPWORD LPINT32 LPDWORD LPINT64 LPQWORD LPFLOAT LPDOUBLE c_sw STR2WIDE STR2WIDE_W c_sz ZSTRING hw HWND vt VARIANT
7 ...
8 SOME RELATED MISCELANEOUS FUNCTIONS nfpgetlasterror() Return the winapi LastError() value for the latest *fpcall() execution on the same thread nfpgetlasterror() -> nerrcode ngetprocaddress() Return the function pointer of an exported function from the specified DLL or 0 if not found. ngetprocaddress( hdll, cfuncname ) -> fp AppInstance() Return the module handle of the current process. AppInstance() -> hinstance GethKernel32(),GethUser32(),GethShell32(),GethOt4xb() Return the module handle of the kernel32.dll,user32.dll,shell32.dll and ot4xb.dll.
An overview of how to write your function and fill out the FUNCTIONINFO structure. Allocating and freeing memory.
Creating a User DLL Extend Mathcad Professional's power by writing your own customized functions. Your functions will have the same advanced features as Mathcad built-in functions, such as customized error
More informationInvestintech.com Inc. Software Development Kit: PDF-to-Excel Function Library User s Guide
Investintech.com Inc. Software Development Kit: PDF-to-Excel Function Library User s Guide May 25, 2007 http://www.investintech.com Copyright 2007 Investintech.com, Inc. All rights reserved Adobe is registered
More informationStatic Analysis I PAOLO PALUMBO, F-SECURE CORPORATION
Static Analysis I PAOLO PALUMBO, F-SECURE CORPORATION Representing Data Binary numbers 1 0 1 1 NIBBLE 0xB 1 0 1 1 1 1 0 1 0xBD 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1 BYTE WORD 0xBD 0x39 Endianness c9 33 41 03
More informationInvestintech.com Inc. Software Development Kit: PDFtoImage Function Library User s Guide
Investintech.com Inc. Software Development Kit: PDFtoImage Function Library User s Guide Novemebr 6, 2007 http://www.investintech.com Copyright 2007 Investintech.com, Inc. All rights reserved Adobe is
More informationInvestintech.com Inc. Software Development Kit: PDFtoXML Function Library User s Guide
Investintech.com Inc. Software Development Kit: PDFtoXML Function Library User s Guide January 15, 2007 http://www.investintech.com Copyright 2008 Investintech.com, Inc. All rights reserved Adobe is registered
More informationStack -- Memory which holds register contents. Will keep the EIP of the next address after the call
Call without Parameter Value Transfer What are involved? ESP Stack Pointer Register Grows by 4 for EIP (return address) storage Stack -- Memory which holds register contents Will keep the EIP of the next
More informationUnderstanding the DLCALL Function
Understanding the DLCALL Function R:BASE Technologies, Inc. Understanding the DLCALL Function by R:BASE Technologies, Inc. Special thanks to: Mike Byerley (Fort Wayne, Indiana), an Authorized R:BASE Developer,
More informationInvestintech.com Inc. Software Development Kit: PDF-to-HTML Function Library User s Guide
Investintech.com Inc. Software Development Kit: PDF-to-HTML Function Library User s Guide July 13, 2007 http://www.investintech.com Copyright 2007 Investintech.com, Inc. All rights reserved Adobe is registered
More informationInvestintech.com Inc. Software Development Kit: ImagetoPDF Function Library User s Guide
Investintech.com Inc. Software Development Kit: ImagetoPDF Function Library User s Guide December 31, 2007 http://www.investintech.com Copyright 2007 Investintech.com, Inc. All rights reserved Adobe is
More information27 Designing Your Own Program
27 Designing Your Own Program 27.1 Using API s...27-2 27.2 Device Access APIs...27-19 27.3 Cache Buffer Control APIs...27-30 27.4 Queuing Access Control APIs...27-36 27.5 System APIs...27-39 27.6 SRAM
More informationReverse Engineering II: Basics. Gergely Erdélyi Senior Antivirus Researcher
Reverse Engineering II: Basics Gergely Erdélyi Senior Antivirus Researcher Agenda Very basics Intel x86 crash course Basics of C Binary Numbers Binary Numbers 1 Binary Numbers 1 0 1 1 Binary Numbers 1
More informationAS08-C++ and Assembly Calling and Returning. CS220 Logic Design AS08-C++ and Assembly. AS08-C++ and Assembly Calling Conventions
CS220 Logic Design Outline Calling Conventions Multi-module Programs 1 Calling and Returning We have already seen how the call instruction is used to execute a subprogram. call pushes the address of the
More informationReverse Engineering II: The Basics
Reverse Engineering II: The Basics Gergely Erdélyi Senior Manager, Anti-malware Research Protecting the irreplaceable f-secure.com Binary Numbers 1 0 1 1 - Nibble B 1 0 1 1 1 1 0 1 - Byte B D 1 0 1 1 1
More informationCS 499 Lab 3: Disassembly of slammer.bin I. PURPOSE
CS 499 Lab 3: Disassembly of slammer.bin I. PURPOSE The purpose of this exercise is to learn Intel assembly language by disassembling a small piece of code and extensively commenting the resulting instructions.
More informationPlugin API. Revision
Plugin API Revision 2012-01-14 1. Creating Your First Plugin A simple example is much better to understand the plugin API than tens of boring pages of theory. Our first plugin will show a window with PI
More informationRocket UniVerse. GCI Guide. Version November 2013 UNV-112-GCI-1
Rocket UniVerse GCI Guide Version 11.2 November 2013 UNV-112-GCI-1 Notices Edition Publication date: November 2013 Book number: UNV-112-GCI-1 Product version: Rocket UniVerse V11.2 2 Copyright Rocket Software,
More informationx86.virtualizer source code
x86.virtualizer source code author: ReWolf date: IV/V.2007 rel.date: VIII.2007 e-mail: rewolf@rewolf.pl www: http://rewolf.pl Table of contents: 1. Usage 2. Compilation 3. Source code documentation - loader
More informationLSN 4 GUI Programming Using The WIN32 API
LSN 4 GUI Programming Using The WIN32 API ECT362 Operating Systems Department of Engineering Technology LSN 4 Why program GUIs? This application will help introduce you to using the Win32 API Gain familiarity
More informationBasic Types, Variables, Literals, Constants
Basic Types, Variables, Literals, Constants What is in a Word? A byte is the basic addressable unit of memory in RAM Typically it is 8 bits (octet) But some machines had 7, or 9, or... A word is the basic
More informationPSK Propagation Reporter DLL Documentation 2013-Mar-10 Philip Gladstone
PSK Propagation Reporter DLL Documentation 2013-Mar-10 Philip Gladstone This describes the PSK Propagation Reporter API that is available on Windows and which is provided by
More informationCOMMON-ISDN-API. Version 2.0. Part II. 4 th Edition. Operating Systems
COMMON-ISDN-API Version 2.0 Part II Operating Systems 4 th Edition June 2001 Author: CAPI Association e.v. All rights reserved Editor: AVM GmbH, Germany E-mail: hj.ortmann@avm.de 4th Edition / June 2001
More informationACR122S. Serial NFC Reader. Application Programming Interface V2.03. Subject to change without prior notice.
ACR122S Serial NFC Reader Application Programming Interface V2.03 Subject to change without prior notice Table of Contents 1.0. Introduction... 3 2.0. Features... 4 3.0. Application Programming Interface
More informationCall DLL from Limnor Applications
Call DLL from Limnor Applications There is a lot of computer software in the format of dynamic link libraries (DLL). DLLCaller performer allows your applications to call DLL functions directly. Here we
More informationThe Data may not be disclosed or distributed to third parties, in whole or in part, without the prior written consent of Motion Workshop.
C API Reference Motion Version 2.6 www.motionnode.com www.motionshadow.com Copyright c 2017 Motion Workshop. All rights reserved. The coded instructions, statements, computer programs, and/or related material
More informationint fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4
RP-VL-UTIL-V1 Developer s Guide [ Contents ] 1. Introduction... 1 2. Building Environment... 1 3. Operating Environment... 1 4. Function Explanation... 2 4.1. Common API for Transmitting and Receiving...
More informationCuckoo Monitor Documentation
Cuckoo Monitor Documentation Release 1.3 Jurriaan Bremer Oct 03, 2017 Contents 1 Requirements 3 2 Required packages 5 3 Compilation 7 4 Components 9 4.1 C Framework...............................................
More informationACR122L NFC Reader with LCD
ACR122L NFC Reader with LCD Application Programming Interface Subject to change without prior notice Table of Contents 1.0. Introduction... 4 2.0.... 5 2.1. Overview... 5 2.2. Reader... 5 2.2.1. Define
More informationKK_FX80E.DLL / libkk_fx80e.so. K+K Library for Windows and Linux PCs. Manual
KK_FX80E.DLL / libkk_fx80e.so K+K Library for Windows and Linux PCs Manual Version 16.03, 2016-11-16 Beginning with version 15.00 there exist three variants of this Library: KK_FX80E.dll: generated under
More informationDeveloper Documentation
Developer Documentation Development of Scanner Applications for ACD Windows CE Second Edition Devices Version: 3.0 Copyright ACD Gruppe This document may not be duplicated or made accessible to third parties
More informationDS: CS Computer Sc & Engg: IIT Kharagpur 1. roblem Set III. Goutam Biswas
DS: CS 11002 Computer Sc & Engg: IIT Kharagpur 1 P DS: CS 11002 Computer Sc & Engg: IIT Kharagpur 2 Problem 1 Write a C function to find n!, where n is the parameter. Try with different types of loops.
More informationT Reverse Engineering Malware: Static Analysis I
T-110.6220 Reverse Engineering Malware: Static Analysis I Antti Tikkanen, F-Secure Corporation Protecting the irreplaceable f-secure.com Representing Data 2 Binary Numbers 1 0 1 1 Nibble B 1 0 1 1 1 1
More informationACR122L Serial NFC Reader with LCD
ACR122L Serial NFC Reader with LCD Application Programming Interface V1.03 Subject to change without prior notice Table of Contents 1.0. Introduction... 3 2.0. Features... 4 3.0. Application Programming
More informationUSB Dynamic Industrial Interface V A Universal Application Programming Interface To Data Acquisition Products Users Manual
USB Dynamic Industrial Interface V 2.0.1.1 A Universal Application Programming Interface To Data Acquisition Products Users Manual Design & Implementation by Decision Computer International Company No
More informationModbus Server. ARSoft International
Modbus Server ARSoft International Description The ModBus server allows: The cyclic or acyclique interrogation of equipments connected to the serial comport COM1 to COM10. Up to 115200 Bauds. The communication
More informationDeclaration. Fundamental Data Types. Modifying the Basic Types. Basic Data Types. All variables must be declared before being used.
Declaration Fundamental Data Types All variables must be declared before being used. Tells compiler to set aside an appropriate amount of space in memory to hold a value. Enables the compiler to perform
More informationCalling Win32 and 32-bit DLL Functions from FoxPro 2.X Rick Strahl
Seite 1 von 7 Issue Date: FoxTalk February 1996 Calling Win32 and 32-bit DLL Functions from FoxPro 2.X Rick Strahl rstrahl@west-wind.com Gain Visual FoxPro-like access to Windows internals through this
More informationReverse Engineering II: The Basics
Reverse Engineering II: The Basics This document is only to be distributed to teachers and students of the Malware Analysis and Antivirus Technologies course and should only be used in accordance with
More informationInterfacing a Growth and Yield DLL with Woodstock
Interfacing a Growth and Yield DLL with Woodstock Remsoft Spatial Planning System This white paper describes how to interface Woodstock with a DLL to provide runtime access to growth and yield information.
More informationICU 58 SpoofChecker API Changes
ICU 58 SpoofChecker API Changes This is a proposal for changes to the SpoofChecker API in Java and C++. The changes are intended to reflect the most recent version of UTS 39. SpoofChecker API Changes,
More informationFinal Exam. 11 May 2018, 120 minutes, 26 questions, 100 points
Name: CS520 Final Exam 11 May 2018, 120 minutes, 26 questions, 100 points The exam is closed book and notes. Please keep all electronic devices turned off and out of reach. Note that a question may require
More informationQuiz 0 Review Session. October 13th, 2014
Quiz 0 Review Session October 13th, 2014 Topics (non-exhaustive) Binary. ASCII. Algorithms. Pseudocode. Source code. Compiler. Object code. Scratch. Statements. Boolean expressions. Conditions. Loops.
More informationArduCAM USB Camera SDK
ArduCAM USB Camera SDK User Guide Rev 1.0, April 2017 Table of Contents 1 Introduction... 2 2 USB SDK Library... 2 3 Demo Code... 2 3.1 Thread.cpp... 2 3.2 USBTestDlg.cpp... 2 4 ArduCAM APIs... 2 4.1 Data
More informationIntroduction to C. Why C? Difference between Python and C C compiler stages Basic syntax in C
Final Review CS304 Introduction to C Why C? Difference between Python and C C compiler stages Basic syntax in C Pointers What is a pointer? declaration, &, dereference... Pointer & dynamic memory allocation
More informationBasic Operations jgrasp debugger Writing Programs & Checkstyle
Basic Operations jgrasp debugger Writing Programs & Checkstyle Suppose you wanted to write a computer game to play "Rock, Paper, Scissors". How many combinations are there? Is there a tricky way to represent
More information---Functions Manual---
2009-06-04 ARTRAY Thermograph Camera Software Developer Kit ---Functions Manual--- Dynamic Link Library for Windows2000,XP 2009.06.04 ARTRAY CO., LTD List of DLL function DLLInitializing ArtThermo_GetDllVersion
More information1.3b Type Conversion
1.3b Type Conversion Type Conversion When we write expressions involved data that involves two different data types, such as multiplying an integer and floating point number, we need to perform a type
More informationx86 assembly CS449 Fall 2017
x86 assembly CS449 Fall 2017 x86 is a CISC CISC (Complex Instruction Set Computer) e.g. x86 Hundreds of (complex) instructions Only a handful of registers RISC (Reduced Instruction Set Computer) e.g. MIPS
More informationDistributed Systems. How do regular procedure calls work in programming languages? Problems with sockets RPC. Regular procedure calls
Problems with sockets Distributed Systems Sockets interface is straightforward [connect] read/write [disconnect] Remote Procedure Calls BUT it forces read/write mechanism We usually use a procedure call
More informationAET60 BioCARDKey. Application Programming Interface. Subject to change without prior notice
AET60 BioCARDKey Application Programming Interface Subject to change without prior notice Table of Contents 1.0. Introduction... 3 2.0. Application Programming Interface... 4 2.1. Overview...4 2.2. Data
More informationC++\CLI. Jim Fawcett CSE687-OnLine Object Oriented Design Summer 2017
C++\CLI Jim Fawcett CSE687-OnLine Object Oriented Design Summer 2017 Comparison of Object Models Standard C++ Object Model All objects share a rich memory model: Static, stack, and heap Rich object life-time
More informationTypes. C Types. Floating Point. Derived. fractional part. no fractional part. Boolean Character Integer Real Imaginary Complex
Types C Types Void Integral Floating Point Derived Boolean Character Integer Real Imaginary Complex no fractional part fractional part 2 tj Types C Types Derived Function Array Pointer Structure Union
More informationCPEG421/621 Tutorial
CPEG421/621 Tutorial Compiler data representation system call interface calling convention Assembler object file format object code model Linker program initialization exception handling relocation model
More informationQuestion 4: a. We want to store a binary encoding of the 150 original Pokemon. How many bits do we need to use?
Question 4: a. We want to store a binary encoding of the 150 original Pokemon. How many bits do we need to use? b. What is the encoding for Pikachu (#25)? Question 2: Flippin Fo Fun (10 points, 14 minutes)
More informationDocumentation of the BEMCmpMgr (CEC Compliance Manager) DLL For Analysis of Commercial Buildings SAC 9/25/2013 (v1)
Documentation of the BEMCmpMgr (CEC Compliance Manager) DLL For Analysis of Commercial Buildings SAC 9/25/2013 (v1) The purpose of this document is to provide information needed to develop software interfaces
More information$U6RIW,QWHUQDWLRQDO. Modbus Driver for Windows 95/98/NT/2000/XP 8VHUV0DQXDO 0RGEXV,QWHUIDFH. 9HUVLRQ Page 1
0RGEXV,QWHUIDFH 8VHUV0DQXDO 9HUVLRQ Page 1 6\VWHP,QWHUIDFH The implemented procedures and functions in the DLL modbus (Modbus.dll ) are subsequently described in detail: 2SHQ&RP 'LVDEOH&RP 5HDG:RUGV :ULWH:RUGV
More informationAdvanced Systems Programming
Advanced Systems Programming Introduction to C++ Martin Küttler September 19, 2017 1 / 18 About this presentation This presentation is not about learning programming or every C++ feature. It is a short
More informationCPS 104 Computer Organization and Programming Lecture-2 : Data representations,
CPS 104 Computer Organization and Programming Lecture-2 : Data representations, Sep. 1, 1999 Dietolf Ramm http://www.cs.duke.edu/~dr/cps104.html CPS104 Lec2.1 GK&DR Fall 1999 Data Representation Computers
More informationSubprograms, Subroutines, and Functions
Subprograms, Subroutines, and Functions Subprograms are also called subroutines, functions, procedures and methods. A function is just a subprogram that returns a value; say Y = SIN(X). In general, the
More informationChapter-8 DATA TYPES. Introduction. Variable:
Chapter-8 DATA TYPES Introduction To understand any programming languages we need to first understand the elementary concepts which form the building block of that program. The basic building blocks include
More informationcast.c /* Program illustrates the use of a cast to coerce a function argument to be of the correct form. */
cast.c /* Program illustrates the use of a cast to coerce a function argument to be of the correct form. */ #include #include /* The above include is present so that the return type
More informationType Checking. Prof. James L. Frankel Harvard University
Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type
More informationWDF File Access Library
User s Manual WDF File Access Library 4th Edition Foreword Notes Trademarks Revisions This user's manual contains useful information about the precautions, functions, and API specifications of the WDF
More informationSimple Data Types in C. Alan L. Cox
Simple Data Types in C Alan L. Cox alc@rice.edu Objectives Be able to explain to others what a data type is Be able to use basic data types in C programs Be able to see the inaccuracies and limitations
More informationCS356: Discussion #6 Assembly Procedures and Arrays. Marco Paolieri
CS356: Discussion #6 Assembly Procedures and Arrays Marco Paolieri (paolieri@usc.edu) Procedures Functions are a key abstraction in software They break down a problem into subproblems. Reusable functionality:
More informationC Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 1 (Minor modifications by the instructor) References C for Python Programmers, by Carl Burch, 2011. http://www.toves.org/books/cpy/ The C Programming Language. 2nd ed., Kernighan, Brian,
More informationCSCI 2212: Intermediate Programming / C Review, Chapters 10 and 11
... 1/16 CSCI 2212: Intermediate Programming / C Review, Chapters 10 and 11 Alice E. Fischer February 3, 2016 ... 2/16 Outline Basic Types and Diagrams ... 3/16 Basic Types and Diagrams Types in C C has
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationIFE: Course in Low Level Programing. Lecture 5
Lecture 5 Windows API Windows Application Programming Interface (API) is a set of Windows OS service routines that enable applications to exploit the power of Windows operating systems. The functional
More informationLanguage Reference Manual simplicity
Language Reference Manual simplicity Course: COMS S4115 Professor: Dr. Stephen Edwards TA: Graham Gobieski Date: July 20, 2016 Group members Rui Gu rg2970 Adam Hadar anh2130 Zachary Moffitt znm2104 Suzanna
More information6.096 Introduction to C++ January (IAP) 2009
MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture
More informationC# MOCK TEST C# MOCK TEST I
http://www.tutorialspoint.com C# MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to C#. You can download these sample mock tests at your local machine
More informationDlisReader Library. Figure 1
DlisReader Library DlisReader is a library for reading information from files written in DLIS (RP66) format version 1. The library exposes extern functions by which user application gets DLIS file records.
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationBrief introduction about memory queue -- CUQueue and CScopeUQueue objects
Brief introduction about memory queue -- CUQueue and CScopeUQueue objects UDAParts support@udaparts.com Updated on Nov. 22, 2016 Contents 1. Introduction 2. C++, C#/VB.NET, Java and Python samples 3. Key
More informationDistributed Systems 8. Remote Procedure Calls
Distributed Systems 8. Remote Procedure Calls Paul Krzyzanowski pxk@cs.rutgers.edu 10/1/2012 1 Problems with the sockets API The sockets interface forces a read/write mechanism Programming is often easier
More informationTutorial 1: C-Language
Tutorial 1: C-Language Problem 1: Data Type What are the ranges of the following data types? int 32 bits 2 31..2 31-1 OR -2147483648..2147483647 (0..4294967295 if unsiged) in some machines int is same
More informationExercise: Using Numbers
Exercise: Using Numbers Problem: You are a spy going into an evil party to find the super-secret code phrase (made up of letters and spaces), which you will immediately send via text message to your team
More informationComputer Programming
Computer Programming Dr. Deepak B Phatak Dr. Supratik Chakraborty Department of Computer Science and Engineering Session: Introduction to Pointers Part 1 Dr. Deepak B. Phatak & Dr. Supratik Chakraborty,
More informationThis manual is for Libffi, a portable foreign-function interface library. Copyright c 2008, 2010, 2011 Red Hat, Inc. Permission is granted to copy,
Libffi This manual is for Libffi, a portable foreign-function interface library. Copyright c 2008, 2010, 2011 Red Hat, Inc. Permission is granted to copy, distribute and/or modify this document under the
More informationHow to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++ Patrick Williams
NATIONAL INSTRUMENTS The Software is the Instrument Application Note 094 How to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++ Patrick Williams Introduction
More informationQ1: /20 Q2: /30 Q3: /24 Q4: /26. Total: /100
ECE 2035(B) Programming for Hardware/Software Systems Fall 2013 Exam Two October 22 nd 2013 Name: Q1: /20 Q2: /30 Q3: /24 Q4: /26 Total: /100 1/6 For functional call related questions, let s assume the
More informationNumber Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers
Outline of Introduction Administrivia What is computer architecture? What do computers do? Representing high level things in binary Data objects: integers, decimals, characters, etc. Memory locations (We
More information5. Calling conventions for different C++ compilers and operating systems
5. Calling conventions for different C++ compilers and operating systems By Agner Fog. Copenhagen University College of Engineering. Copyright 2004-2008. Last updated 2008-06-29. Contents 1 Introduction...
More informationType checking of statements We change the start rule from P D ; E to P D ; S and add the following rules for statements: S id := E
Type checking of statements We change the start rule from P D ; E to P D ; S and add the following rules for statements: S id := E if E then S while E do S S ; S Type checking of statements The purpose
More informationV850 Calling Convention
IAR Application Note V850 Calling Convention SUMMARY This application note describes the calling convention used by IAR Systems V850 compiler for C and Embedded C++. The intended audience is developers
More informationMemory, Data, & Addressing I
Memory, Data, & Addressing I CSE 351 Autumn 2017 Instructor: Justin Hsia Teaching Assistants: Lucas Wotton Michael Zhang Parker DeWilde Ryan Wong Sam Gehman Sam Wolfson Savanna Yee Vinny Palaniappan http://xkcd.com/953/
More informationFinal Exam. 12 December 2018, 120 minutes, 26 questions, 100 points
Name: CS520 Final Exam 12 December 2018, 120 minutes, 26 questions, 100 points The exam is closed book and notes. Please keep all electronic devices turned off and out of reach. Note that a question may
More informationScott M. Lewandowski CS295-2: Advanced Topics in Debugging September 21, 1998
Scott M. Lewandowski CS295-2: Advanced Topics in Debugging September 21, 1998 Assembler Syntax Everything looks like this: label: instruction dest,src instruction label Comments: comment $ This is a comment
More informationAttacking Internationalized Software
Scott Stender scott@isecpartners.com Black Hat August 2, 2006 Information Security Partners, LLC isecpartners.com Introduction Who are you? Founding Partner of Information Security Partners, LLC (isec
More informationAssembler Programming. Lecture 10
Assembler Programming Lecture 10 Lecture 10 Mixed language programming. C and Basic to MASM Interface. Mixed language programming Combine Basic, C, Pascal with assembler. Call MASM routines from HLL program.
More informationUNIVERSAL SERIAL INTERFACE
UNIVERSAL SERIAL INTERFACE Coastal Environmental Systems Application Note ZENO_MANUAL_USI.DOC 4/21 UNIVERSAL SERIAL INTERFACE Overview The Universal Serial Interface lets you program your ZENO to communicate
More information1.1. Unit 1. Integer Representation
1.1 Unit 1 Integer Representation 1.2 Skills & Outcomes You should know and be able to apply the following skills with confidence Convert an unsigned binary number to and from decimal Understand the finite
More informationSYSTEM CALL IMPLEMENTATION. CS124 Operating Systems Fall , Lecture 14
SYSTEM CALL IMPLEMENTATION CS124 Operating Systems Fall 2017-2018, Lecture 14 2 User Processes and System Calls Previously stated that user applications interact with the kernel via system calls Typically
More informationlibsegy Programmer s Reference Manual
libsegy Programmer s Reference Manual Nate Gauntt Last Modified: August 11, 2008 Contents 1 Introduction 2 2 Why Use libsegy? 2 3 Building and Installation 3 3.1 Building C-Library Interface.....................
More informationUsing NI-488.2M Software with 32-Bit Delphi Applications
Application Note 085 Introduction Using NI-488.2M Software with 32-Bit Delphi Applications L. Rantanen Borland Delphi (version 2.0), one of the latest visual programming languages, uses Rapid Application
More informationQUIZ. 1. Explain the meaning of the angle brackets in the declaration of v below:
QUIZ 1. Explain the meaning of the angle brackets in the declaration of v below: This is a template, used for generic programming! QUIZ 2. Why is the vector class called a container? 3. Explain how the
More informationWindows Programming in C++
Windows Programming in C++ You must use special libraries (aka APIs application programming interfaces) to make something other than a text-based program. The C++ choices are: The original Windows SDK
More informationNetDrive2 SDK Reference
NetDrive2 SDK Reference Bdrive Inc, Copyright Bdrive inc, All Rights Reserved version date e-mail 0.1 2014-4-10 jyyoon@bdrive.com 0.2 2014-5-9 jyyoon@bdrive.com 0.3 2014-6-14 jyyoon@bdrive.com 0.4 2014-7-14
More informationThis is CS50. Harvard University Fall Quiz 0 Answer Key
Quiz 0 Answer Key Answers other than the below may be possible. Binary Bulbs. 0. Bit- Sized Questions. 1. Because 0 is non- negative, we need to set aside one pattern of bits (000) for it, which leaves
More informationPortland State University. CS201 Section 5. Midterm Exam. Fall 2018
Portland State University CS201 Section 5 Midterm Exam Fall 2018 Name: This exam has 9 pages including this cover. The last page contains tables to assist you in performing binary and hexadecimal conversions
More information