Koneiden nousu: tekoälyn todelliset sovellukset
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
GDB on C:n, C++:n, Objective-C:n, Pascalin, Fortranin, Go:n, D:n, OpenCL C:n, Adan ja Modula-2:n debuggeri.
CentOS perustuu RHEL:iin (Red Hat Enterprise Linux). Yksi RHEL:n päätavoitteista on olla vakaa palvelinkäyttöjärjestelmä, mikä tarkoittaa, että ohjelmistopakettien uudempia versioita ei aina ole saatavilla.
Kirjoitushetkellä CentOS 6 tarjoaa GDB v7.2:n. GDB-tiimi julkaisi kuitenkin äskettäin koodin v7.91:lle.
Virallisesti suositellaan toisen Linux-jakelun käyttämistä GDB:n uudemman version käyttämiseksi. Tämä ei ole aina ihanteellinen. Onneksi on mahdollista asentaa GDB:n uudemmat versiot CentOS 6:een. Koska GDB on debuggeri eikä järjestelmän ydinkomponentti, on melko turvallista käyttää uudempaa versiota.
Tässä artikkelissa kerrotaan, kuinka GDB:n tuetut ja ei-tuetut versiot asennetaan CentOS 6:een.
Selitän myös, kuinka GDB määritetään antamaan sinulle helpompia luettavia virheenkorjaustietoja käytettäessä C++-standardikirjastoa (kuten merkkijonoa) ja vakiomallikirjastoa (kuten vektoria). Tätä ominaisuutta kutsutaan kauniiksi tulostukseksi.
Kirjaudu sisään VPS:ään. Tämä voidaan tehdä napsauttamalla "View Console" Vultr-ohjauspaneelissa tai SSH-asiakkaalla.
(a) Kirjaudu sisään root-käyttäjänä.
(b) Luo oma käyttäjätili. Aseta salasana.
adduser <username>
passwd <username>
(c) Myönnä käyttäjälle sudo-käyttöoikeus.
visudo
After the line "root ALL=(ALL) ALL"
Add the line "<username> ALL=(ALL) ALL"
--- If you aren't familiar with vi, go to the line "root ALL=(ALL) ALL".
--- Hit "o" to create a new line after that line and enter insert mode.
--- Type "<username> ALL=(ALL) ALL".
--- Hit ESC.
--- Type "ZZ" to save.
(d) Kirjaudu ulos root-käyttäjänä ja kirjaudu sitten takaisin sisään käyttäjätunnuksellasi. On paljon turvallisempaa, kun ei koskaan kirjaudu sisään root-käyttäjänä. Sudon käyttö on parempi käytäntö.
Asenna GDB.
sudo yum install gdb
Tarkista asennettu versio ja katso sen sijainti.
gdb --version
May say: GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6)
which gdb
/usr/bin/gdb
Asenna C-kääntäjä, kuten GCC. C++-kääntäjää ei tarvita GDB:n rakentamiseen lähdekoodista, mutta se tarvitaan GDB:n kauniin tulostusominaisuuden osoittamiseen. Voit rakentaa uudemman version GCC:stä lähteestä suorittamalla artikkelin GCC:n asentaminen CentOS 6:een vaiheet . Tai voit asentaa CentOS 6:n virallisesti tuetun GCC-version suorittamalla:
sudo yum install gcc gcc-c++
Asenna tarvittavat lisäpaketit.
sudo yum install wget tar gzip ncurses-devel texinfo svn python-devel
Päätä, minkä GDB-version haluat rakentaa lähdekoodista. Vieraile GDB FTP -sivustolla nähdäksesi ladattavissa olevat versiot.
Hanki haluamasi GDB-version lähde. Tämän artikkelin loppuosa on kirjoitettu versiolle 7.9.1 ja se lataa lähteet ~/sourceInstallations/gdb-7.9.1/- sinun on korvattava oikea versionumero uudemmilla versioilla.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.1.tar.gz .
tar -zxvf gdb-7.9.1.tar.gz
Rakenna GDB. Jos tämä valmistuu oikein, viimeisellä näkemäsi rivillä lukee "menestys". On normaalia, että jotkut virheen näköiset viestit vierivät ohi nopeasti. Nämä on turvallista jättää huomiotta.
mkdir gdb-7.9.1.build
cd gdb-7.9.1.build
../gdb-7.9.1/configure --with-python=yes && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- The parameter "--with-python=yes" is necessary for the pretty printing feature
Asenna C++ pretty printing.
cd ~/
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python gdb_printers
Create a file ~/.gdbinit of:
python
import sys
sys.path.insert(0, '/home/<yourUserName>/gdb_printers/')
from libstdcxx.v6.printers import register_libstdcxx_printers
end
--- One way to create this file is to run "vi ~/.gdbinit", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
Tarkista asennettu versio ja sen sijainti.
gdb --version
May say: GNU gdb (GDB) 7.9.1
which gdb
/usr/local/bin/gdb
Vaihtoehtoisesti suorita GDB ja näe kauniita tulosteita.
mkdir ~/gdbExample
cd ~/gdbExample
Create a file gdbExample.cpp of:
#include <string>
#include <vector>
using namespace std;
int main() {
string foo = "bar";
vector<string> vec;
vec.push_back("foo");
vec.push_back("bar");
vec.push_back("foobar");
}
--- One way to create this file is to run "vi gdbExample.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
g++ -ggdb gdbExample.cpp -o gdbExample
Start GDB traditionally, by running "gdb ./gdbExample". Or, start GDB by using its terminal user interface (basically a text mode GUI), by running "gdb --tui ./gdbExample".
Enter "break main" to set a breakpoint at the beginning of function main() -- and it will say:
Breakpoint 1 at 0x<someAddress>: file gdbExample.cpp, line 6.
Enter "run" to start the program, which will immediately hit the breakpoint you just set -- and it will say:
Starting program: /home/<yourUserName>/gdbExample/gdbExample
Breakpoint 1, main () at gdbExample.cpp:6
6 string foo = "bar";
Enter "next" and hit enter four times, and gdb will move up to just before executing:
10 vec.push_back("foobar");
Enter "print foo" and gdb will show:
$1 = "bar"
Enter "print vec" and gdb will show:
$2 = std::vector of length 2, capacity 2 = {"foo", "bar"}
--- Remember, line 10 hasn't executed yet to add "foobar" to the vector
Enter "quit" and "y" to quit anyway.
Valinnaisesti vapauttaa kiintolevytilaa. Teidän ~/sourceInstallationshakemisto tulee ottaa ympärille 386MB. Hakemistot on luultavasti viisasta säilyttää, koska on olemassa valinnaisia konfigurointivaihtoehtoja, joita saatat joutua käyttämään jossain vaiheessa tulevaisuudessa, ja olisi nopeampaa, jos paljon olisi jo tehty. Lisäksi rakennusprosessi tekee lokeja, joita voit myöhemmin tarkistaa ja käyttää, jos jokin menee pieleen. Mutta kun olet suorittanut sudo make installaiemmin, asennettu GDB ei ole riippuvainen mistään tässä hakemistossa, ja tilaa voi olla erittäin vähän, joten voit tehdä tämän vaiheen ja vaatia takaisin noin 386 Mt. TÄRKEÄÄ: älä poista ~/gdb_printers/hakemistoa! Tämän hakemiston sisältö ladataan aina, kun suoritat GDB:n. Niitä EI ole koottu itse GDB:hen.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja