Prawidłowe umieszczenie #include <jakiskod.hpp>

dział ogólny

Prawidłowe umieszczenie #include <jakiskod.hpp>

Nowy postprzez Darek_C++ » poniedziałek, 13 grudnia 2010, 16:06

Witam ponownie,
tym razem chciał bym się dowiedzieć w jakim miejscu powinno się prawidłowo wstawiać instrukcję include w kodzie *.cpp np #include <clipbrd.hpp>:
KOD cpp:     UKRYJ  
#include <vcl.h>
#include <clipbrd.hpp> // wstawiony w miejscu 1
#pragma hdrstop

#include "Unit3FormPobieracz.h" // wstawiony za pomocą polecenia File - Use unit
#include "WatekOperacji.h" // wstawiony za pomocą polecenia File - Use unit
#include <clipbrd.hpp> // wstawiony w miejscu 2
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm3 *Form3;

Prawidłowo powinno się wstawiać [wstawiony w miejscu 1] czy też [wstawiony w miejscu 2] za #pragma hdrstop

Pozdrawiam
Avatar użytkownika
Darek_C++
Elektrowied
Elektrowied
 
Posty: 454
Dołączył(a): piątek, 25 lipca 2008, 14:33
Podziękował : 66
Otrzymał podziękowań: 4
System operacyjny: Windows XP Pro SP2
Kompilator: Turbo Explorer C++
Gadu Gadu: 0
    Windows XPFirefox

Re: Prawidłowe umieszczenie #include <jakiskod.hpp>

Nowy postprzez Cyfrowy Baron » poniedziałek, 13 grudnia 2010, 16:29

Nie wiem czy to ma znaczenie, ale jeżeli już to w miejscu 2. Zawsze tam dodaję pliki nagłówkowe, lub w sekcji include pliku nagłówkowego - czasami jest to niezbędne - i nigdy nie sprawiało to żadnych problemów.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Prawidłowe umieszczenie #include <jakiskod.hpp>

Nowy postprzez Cyfrowy Baron » poniedziałek, 13 grudnia 2010, 16:36

W książce poświęconej środowisku C++Builder znalazłem informację, że należy dodawać wpisy pod #pragma hdrstop, czyli zdecydowanie miejsce 2. Niestety autorzy nie podali uzasadnienia.

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
Darek_C++
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Prawidłowe umieszczenie #include <jakiskod.hpp>

Nowy postprzez polymorphism » poniedziałek, 13 grudnia 2010, 19:51

No akurat w przypadku nagłówków, które są częścią VCL-a, WinAPI, stdliba, czy też innych nagłówków, które nie podlegają częstym modyfikacjom, miejsce #1 jest właściwe. W miejscu #2 z reguły załączasz pliki projektu, ponieważ te ulegają częstym modyfikacjom. Nagłówki załączone przed #pragma hdrstop podlegają tzw. prekompilacji, dzięki czemu proces kompilacji może znacznie przyśpieszyć.
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
Darek_C++
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Prawidłowe umieszczenie #include <jakiskod.hpp>

Nowy postprzez Cyfrowy Baron » poniedziałek, 13 grudnia 2010, 19:55

Tutaj chyba masz rację gdyż przeglądając przykładowe projekty natknąłem się na taki gdzie nagłówek #include <string> jest włączony przed #pragma hdrstop.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości