Skip to content

shashi-rai/cpp-native

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bhojpur C++ - Native Collections

This source code repository is designed to be used by Software Developers. It comprises of a collection of commonly used software algorithms written in C++ programming language. A set of native (e.g., macOS, Linux, UNIX) environment C++ libraries located in specific folders could be compiled by the software developers to include the same in their own industry applications.

Basic Requirements

Prior to using this source code repository, a POSIX compliant software development environment would be required. Ideally, you could have

  1. macOS or Linux operating system
  2. git - version control system for maintaining the source code
  3. make - software build tool to compile all C++ programs
  4. GNU C++ Compiler - free & open source software
  5. Microsoft Visual Studio Code IDE for editing the source code

Folder Hierarchy

The following folders serve specific purpose with regard to software development

  1. inc - include header files
  2. lib - pre-compiled library files
  3. obj - pre-compiled object files
  4. act - financial accounting algorithms
  5. bio - biological algorithms
  6. bit - information theory algorithms
  7. che - chemical algorithms
  8. doc - document assembly algorithms
  9. dsa - data structure algorithms
  10. ecn - electronic circuit algorithms
  11. eco - economic model algorithms
  12. fin - financial algorithms
  13. gis - geospatial system algorithms
  14. grt - general relativity algorithms
  15. img - digital imaging algorithms
  16. law - legal matter algorithms
  17. phy - physical algorithms
  18. qft - quantum field algorithms
  19. shp - geometrical shape algorithms
  20. web - web development system

Source Code Compilation

Besides using the following command in the main folder, you could compile each domain-specific folder independently. The following command would build all the sub-folders as well. It will add native libraries into lib folder.

$ make all

Once all the vative libraries are built in respective sub-directories, you could compile a custom software application alone by simply using the following command

$ make app

For example, the bhojpur.app is a custom application built from main.cpp in the root folder.

Understanding Dependencies

The microscropic realm phenomenon is modeled using the following native C++ libraries

  • firstly, the dsa library must be compiled to use available data containers
  • then, compile shp library which forms the base for several other libraries
  • then, compile img library which forms the base for image processing libraries
  • then, compile qft library that models core concepts of the physical reality
  • then, compile phy library that builds on qft to model the Physics
  • then, compile che library that builds on phy to model the Chemistry
  • then, compile bio library that builds on che to model the Biology
  • then, compile ecn library that builds on qft to model the Circuits
  • then, compile bit library that builds on qft to model the Information

The macro-world phenomenon is modeled using the following native C++ libraries

  • the gis library could be compiled after shp library is ready
  • the grt library could be compiled after gis library is ready

The legal system is modeled using the following native C++ libraries

  • the doc library could be compiled after act library is ready
  • the law library could be compiled after doc library is ready

The financial system is modeled using the following native C++ libraries

  • the act library could be compiled after shp library is ready
  • the eco library could be compiled after act library is ready
  • the fin library could be compiled after act library is ready

Folder Cleanup

To clean up all the temporary files and folders (e.g., obj, lib)

$ make clean

However, to clean up pre-compiled C++ object files containing folder alone, you can issue the following command

$ make clean-objs

Also, to clean up pre-compiled C++ library files containing folder alone, you can issue the following command

$ make clean-libs

And, to clean up only pre-compiled custom application files, you can issue the following command

$ make clean-apps

Source Code Repository

The entire source code of cpp-native is maintained at GitHub. You could push modified source code to this repository by using the following command

$ make repo

However, update changed files by issueing the following commands first. For example

Add Source File/Folder

To add new or affectd files or folders

$ git add a.cpp

Remove Source File/Folder

To remove existing files or folders

$ git rm a.cpp

Executing Sample Application

To run bhojpur.app (i.e., a custom application program) built using native C++ libraries compiled after calling make command, you could issue the following command in your shell environment

$ ./bhojpur.app -v

It would simply print a copyright message. Perhaps, you could customize this main.cpp source code file and recompile it to test your new ideas further.

Software Developers

Copyright Owner

This software is created and distributed originally by

About

A collection of C++ programming libraries for building advanced-level simulation models

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published