• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Link C++ - SKILL

Stats

  • Replies 16
  • Subscribers 159
  • Views 11189
  • Members are here 0
More Content

Link C++ - SKILL

Yann00
Yann00 over 12 years ago

hi,

 

Could someone explain to me how to make a link between C++ and SKILL?

I have to develop a program in SKILL. But I do some text treatment in C++. So how I can load my SKILL program, and then lunch my C++ program? I have, in the SKILL program, to have a position with text file from C++.

Ask me if you want more details.

Best regards

  • Sign in to reply
  • Cancel
  • fxffxf
    fxffxf over 12 years ago

    Looking at your C program it would be easier to have your C program write a file of x/y coordinates that can be easily read by your Skill code. Your Skill code would call your C program via the "system" API and read the file produced by your C program. Unless you need to do this hundreds of times a second, I wouldn't go to all of the extra work to use the axl dll binding method unless you are doing this as a learning experience.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Yann00
    Yann00 over 12 years ago

    Every way is ok for me if I could run my C program in my SKILL program.

    The problem is that all of my C code is in my main. And I don't know how to convert it in a function with (File.h and File.c). I am not really good in fact in programming.

    I understood how to create a dll. That was a good tutorial.

    But I keep my problem with the transformation from my main to a function (with .h and .c).

    When I debug my C++ program, it creates a file called Centre_Cartouche.txt and it works really nice. But I wanna run it during my Skill program running. Because the input of my C++ program is the output of my first function in my SKILL program. My second function in my SKILL program need the output of my C++ program (Centre_Cartouche.txt) to take as an input.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 12 years ago

     Calling other programs from skill is pretty easy. In your Skill code just do a:

         system("my_C_program my_arguments")

     The main issue is dealing where the program exists on disks. You can ask the user or install it in a "well known" location.

    What you want to end up with is invoking the system API with the actual location on disk. The alternative method is either modifing the Windows PATH variable to sticking the program into a directory that currently exists in the PATH variable. For example invoking the program via an absolute directory location:

         system("d:\bin\my_C_program my_arguments)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Yann00
    Yann00 over 12 years ago

    In fact my C++ program has in input the brd.txt ans sym.txt files. This two text files come from the extraction of my fichier.brd in SKILL.

    And the C++ program creates in output Centre_Cartouche.txt.

    And I need for my next SKILL function to use this Centre_Cartouche.txt to read x and y.

     

    I tried to called my program with system("my_C_program my_arguments") and even if the program is well specified with path it does not work.

    Does it turn on yours?

     

    Program.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • fxffxf
    fxffxf over 12 years ago

    It works for me. I assume you compile/link your program 32bit?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information