c libraries how install
Овај водич за Ц ++ библиотеке објасниће шта су то библиотеке у Ц ++-у, њихови типови, заједно са инсталацијом и употребом Ц ++ стандардне библиотеке:
Библиотека се може дефинисати као пакет кода или функција који се могу поново употребити. Разне апликације могу поново користити исту библиотеку. Поседовањем библиотека постижемо поновну употребу, тј. Један од принципа објектно оријентисаног програмирања.
На пример, математичке функције попут греха, косма, препланулости, трбуха итд. могу се претворити у библиотеку. Радећи ово, не морамо поново и поново писати ове функције за сваку апликацију. Можемо само упутити библиотеку и поново користити код у нашим апликацијама.
=> Посетите овде да бисте научили Ц ++ из огреботина.
Шта ћете научити:
Ц ++ библиотеке
Библиотека Ц ++ се обично састоји од:
Датотека заглавља: Ово дефинише функционалност коју библиотека нуди.
Прекомпајлирани бинарни: Ова датотека садржи стварну имплементацију функционалности. Ова имплементација је унапред компајлирана у машински језик.
Библиотеке су унапред састављене, јер нема разлога за поновно састављање библиотека, јер се оне тешко мењају. Друго, како су унапред компајлиране библиотеке у облику машинског језика, оне су заштићене јер им нико не може директно приступити. Тако су библиотеке осигуране.
У Ц ++ имамо две врсте библиотека:
- Статичке библиотеке
- Динамичке библиотеке
Статичке библиотеке
Статичке библиотеке називају се и архивима. Статичка библиотека је библиотека која постаје део извршне датотеке која се на њу позива. Дакле, када развијемо апликацију и у њој референцирамо статичку библиотеку, садржај статичке библиотеке се замењује у апликацији.
Статичне библиотеке на Виндовс-у обично имају екстензију „.либ“, док оне на Линук-у имају екстензију „.а“ (или архива).
шта ми треба за покретање јар датотеке
Једна од предности постојања програмске статичке библиотеке је та што не морамо дистрибуирати статичку библиотеку заједно са извршном датотеком. То је зато што је садржај статичке библиотеке део апликација и нема потребе да га дајете одвојено.
Ова специфична предност резултира недостатком, јер извршна датотека може постати гломазна и изгубити превише простора јер је библиотека део извршне датотеке.
Још један недостатак постојања статичке библиотеке је тај што ако се статичка библиотека промени, онда је потребно и ажурирати извршну референцу на њу.
Динамичке библиотеке
Динамична библиотека је такође позната и као „дељена библиотека“. У оперативном систему Виндовс, динамичка библиотека има екстензију „.длл“ (динамички повезана библиотека). На Линуку, динамичка библиотека има екстензију „.со“ (заједнички објекат).
Динамичка библиотека је библиотека која се састоји од рутина које се у току рада учитавају у апликацију. Када се апликација позива на динамичку библиотеку, тада библиотека не постаје део апликације, али остаје као посебна целина.
Динамичка библиотека има предност у томе што један примерак библиотеке може да дели више апликација чиме се штеди простор. Још једна предност је та што се, с обзиром на то да је динамичка библиотека посебна целина, извршна датотека апликације не мења када се динамичка библиотека мења.
Једини недостатак који има динамичка библиотека је тај што захтева посебан програм за учитавање и референцирање библиотеке, што може бити гломазно. Да бисмо решили овај проблем, користимо рутину „увоз библиотеке“.
Ан импорт библиотека је механизам који аутоматски учитава и користи динамичку библиотеку у програм. У оперативном систему Виндовс, библиотека за увоз држи малу статичку библиотеку (.либ) која има исто име као .длл датотека и која је повезана са програмом у време компајлирања.
Једном када се то учини, динамичка библиотека се користи као да је статична библиотека. У оперативном систему Линук, динамичка библиотека или датотека заједничког објекта (.со) делује као библиотека за увоз, као и динамичка библиотека. Већина повезивача на Линук ОС-у могу да направе библиотеку за увоз за динамичку библиотеку.
Како инсталирати и користити библиотеке Ц ++
Погледајмо неке кораке које морамо следити да бисмо инсталирали ове библиотеке и користили их у нашој апликацији.
# 1) Стицање библиотеке
Да бисмо користили библиотеку у нашој апликацији, прво морамо да је набавимо. Библиотека је можда претходно састављена - у таквом случају само треба да преузмемо библиотеку за оперативни систем. Ако библиотека није прекомпајлирана, тада морамо да преузмемо изворни код и компајлирамо га на нашој машини.
На прозорима библиотеке обично имају .зип екстензију, док се на Линук оперативном систему пакет библиотека дистрибуира као „.РПМ“.
# 2) Инсталирајте библиотеку
Следећи корак када набавимо библиотеку је инсталирање библиотеке. Инсталација на Виндовс је једноставна попут распакивања садржаја библиотеке у фасцикли. На Линуку можемо позвати менаџера пакета да инсталира библиотеку.
# 3) Укључите путању библиотеке за компајлер
Морамо поставити пут библиотеке тако да компајлер зна где да тражи датотеке библиотеке. То може бити директоријум ‘инцлуде’ на Виндовс-у или ‘/ уср / инцлуде’ на Линук-у.
# 4) Повежите путању до библиотеке
Овај корак се изводи тако да повезивач зна тачан пут библиотека које мора повезати током процеса повезивања. Обично постоји директоријум ‘/ либ’ на Виндовс-у или директоријум ‘/ уср / либ’ на Линук-у који садржи све библиотеке.
Једном када се библиотека инсталира, преводилац и повезивач знају пут библиотеке до употребе и библиотека је спремна за употребу. У нашем програму можемо се позвати на функционалност библиотеке, а како смо датотеке заглавља укључили у наш програм, преводилац ће моћи да компајлира функционалност.
Како програмери углавном користе ИДЕ за развој, у самом ИДЕ одређујемо путању библиотеке.
Стандардна заглавља / библиотеке на језику Ц ++
Размотримо нека од стандардних заглавља или библиотека које користи језик Ц ++. О овим заглављима смо већ разговарали у одговарајућим темама у нашим водичима за Ц ++.
Ц Стандардна библиотека
АНСИ Ц стандард одређује Ц стандардна библиотека или либц која делује као стандардна библиотека за програмски језик Ц. Ц ++ укључује свако заглавље из Ц стандардне библиотеке под различитим именом додавањем „ц“ на почетку и уклањањем „.х“ на крају. Тако ће заглавље ккк.х у језику Ц постати „цккк“ у стандарду Ц ++.
Ц стандардна библиотека пружа функције повезане са макроима, руковањем низовима, математичким прорачунима Дефиниције типова, обрада улаза / излаза, управљање меморијом итд.
Проверавати овде за више информација о Ц стандардној библиотеци.
Генерал
Општа библиотека Ц ++ укључује следећа заглавља како је приказано у наставку.
Име заглавља | Опис |
---|---|
Дефинише функционалност корпице. Доступно од Ц ++ 11 надаље. | |
Алгоритми које користе многи контејнери дефинисани су у овом заглављу. | |
Укључује временске елементе попут стд :: цхроно :: тиме_поинт, стд :: цхроно :: дуратион и цлоцкс. | |
Ово заглавље пружа функције функције које се користе са општим алгоритмима. | |
Садржи класе и предлошке за итераторе. | |
Дефинише функционалност управљања меморијом у језику Ц ++. | |
Дефинише стандардне класе изузетака, укључујући стд :: логиц_еррор и стд :: рунтиме_еррор, обе изведене из стд :: екцептион. | |
Класе предложака попут стд :: паир итд. Или простори имена попут стд :: рел_опс су дефинисани у овом заглављу. |
Стреамови и улаз / излаз
Име заглавља | Опис |
---|---|
Садржи функционалност класе предлошка стд :: остреам и других класа за подршку за излаз. | |
Пружа функционалност за улаз-излаз заснован на датотекама. | |
Садржи функционалност за форматирање излаза попут прецизности, основе итд. | |
Садржи основну функционалност за иостреам операције. | |
Пружа прослеђивање декларација неколико предложака класа повезаних са И / О. | |
Пружа основе улаза и излаза за Ц ++. | |
Садржи функционалност класе предлошка стд :: истреам и других пратећих класа за унос. | |
Дефинише класу предлошка стд :: стрингстреам и друге подржавајуће класе које се користе за манипулацију низом. | |
Садржи функционалност за читање и писање у / из одређених врста секвенци знакова, као што су спољне датотеке или низови. |
Језичка подршка
Име заглавља | Опис |
---|---|
Имплементира функционалност за стд :: куеуе, једнострани ред и стд :: приорити_куеуе, приоритетни ред. | |
Ово заглавље садржи разне типове и функције за руковање изузецима, укључујући основну класу за све изузетке, стд :: изузетак. | |
Ово заглавље садржи класу предлошка стд :: нумериц_лимитс која се користи за описивање основних нумеричких својстава | |
Садржи операторе нев и делете и друге функције повезане са основама управљања меморијом Ц ++. | |
Пружа могућности за рад са информацијама о типу времена извршавања Ц ++. |
Жице
Име заглавља | Опис |
---|---|
Ово заглавље садржи стандардне класе низова и предлошке у језику Ц ++. | |
Ово је ново у језику Ц ++ 11. Пружа услужне програме за низове који се подударају са узорком помоћу регуларних израза. |
Локализација
Име заглавља | Опис |
---|---|
Ово заглавље има локалну функционалност. Дефинише класе и декларише функције које инкапсулирају и манипулишу информацијама специфичним за локализацију. | |
Садржи фасете за претварање кода за различита кодирања знакова. |
Контејнери
Име заглавља | Опис |
---|---|
Садржи функционалност за стд :: арраи, контејнер за низ фиксне величине. Нови додатак у Ц ++ 11 и ТР1. | |
Специјализована класа контејнера стд :: битсет, битни низ. | |
Садржи функционалност за стд :: декуе, двоструки ред. | |
Заглавље за стд :: форвард_лист, појединачно повезана листа. Нови додатак у Ц ++ 11 и ТР1. | |
Садржи функционалност за стд :: лист, двоструко повезану листу. | |
Садржи функционалност за стд :: мап и стд :: мултимап, сортирани асоцијативни низ и мултимап. | |
Има заглавље за стд :: сет и стд :: мултисет, сортиране асоцијативне контејнере или скупове. | |
Пружа класу адаптера контејнера стд :: стацк, стек. | |
Ово заглавље садржи стд :: унордеред_мап и стд :: унордеред_мултимап, функционалност хеш табела. Ново у Ц ++ 11 и ТР1. | |
Пружа функционалност за стд :: унордеред_сет и стд :: унордеред_мултисет. Ново у Ц ++ 11 и ТР1. | |
Пружа функционалност за стд :: вецтор, динамички низ. |
Библиотека за подршку нитима
Име заглавља | Опис |
---|---|
Нова класа и простор имена за рад са нитима од Ц ++ 11 надаље. | |
Нови додатак за Ц ++ 11 надаље. Пружа мутексеве, браве, позиве једном итд., Који су сви механизми за међусобно искључивање. | |
Садржи функционалност за променљиве услова које пружају примитиве за синхронизацију који се користе за блокирање нити док нека друга нит не обавести да је неки услов испуњен или док се не достигне системско време. Нови додатак за Ц ++ 11 надаље. | |
Ово заглавље има компоненте које програм Ц ++ може користити за преузимање у једној нити и резултат (вредност или изузетак) из функције која је покренута у истој нити или другој нити. |
Нумеричка библиотека
Име заглавља | Опис |
---|---|
Заглавље описује разне функције за представљање и манипулисање сложеним бројевима. Такође има и образац класе за сложене бројеве | |
Функционалност генерисања (псеудо-) случајних бројева | |
Ово заглавље садржи - пет предложака класе (валарраи, слице_арраи, гслице_арраи, маск_арраи и индирецт_арраи), - две класе (кришка и кришка), - Низ повезаних предложака функција за представљање и манипулисање низовима вредности. | |
Садржи опште нумеричке операције. |
Закључак
Детаљно смо разговарали о Ц ++ библиотекама заједно са њиховим типовима и корацима за инсталирање и подешавање библиотеке.
Открили смо да стандардна Ц ++ библиотека садржи различита заглавља која пружају различите функционалности. Ова стандардна заглавља библиотека можемо користити за развој различитих апликација на језику Ц ++.
=> Овде погледајте СВЕ туторијале за Ц ++.
Препоручено читање
- Функције библиотеке на Ц ++
- Библиотека стандардних шаблона (СТЛ): Кратки увод
- Комплетан преглед Ц ++
- 70+ НАЈБОЉИХ Водича за Ц ++ за БЕСПЛАТНО учење Ц ++ програмирања
- Форматирање И / О: принтф, спринтф, сцанф Функције у Ц ++
- Основне улазно / излазне операције на Ц ++
- Функције низа у језику Ц ++: гетлине, подниз, дужина низа и још много тога