Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी और सी++ में 64-बिट जीसीसी पर 32-बिट प्रोग्राम संकलित करें

आजकल कंपाइलर डिफ़ॉल्ट 64-बिट संस्करण के साथ आता है। कभी-कभी हमें किसी 32 बिट सिस्टम में कोड को संकलित और निष्पादित करने की आवश्यकता होती है। उस समय में, हमें इस फीचर का उपयोग करना होगा।

सबसे पहले, हम gcc कंपाइलर के वर्तमान लक्ष्य संस्करण की जाँच करने के लिए शेव करते हैं। इसे चेक करने के लिए हमें यह कमांड टाइप करनी होगी।

gcc –v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
...........
...........
...........

यहाँ यह दिखा रहा है कि लक्ष्य x86_64 है। इसलिए हम जीसीसी के 64-बिट संस्करण का उपयोग कर रहे हैं। अब 32-बिट सिस्टम का उपयोग करने के लिए, हमें निम्नलिखित कमांड लिखनी होगी।

gcc –m32 program_name.c

कभी-कभी यह आदेश नीचे की तरह कुछ त्रुटि उत्पन्न कर सकता है। यह इंगित करता है कि जीसीसी का मानक पुस्तकालय गायब है। उस स्थिति में हमें उन्हें स्थापित करना होगा।

In file included from test_c.c:1:0:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file
or directory
#include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

अब, जीसीसी के लिए मानक पुस्तकालय स्थापित करने के लिए, हमें निम्नलिखित आदेश लिखना होगा।

sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib

अब इस कोड का उपयोग करके हम 32-बिट सिस्टम और 64-बिट सिस्टम में निष्पादन के अंतर देखेंगे।

उदाहरण

#include<stdio.h>
main() {
   printf("The Size is: %lu\n", sizeof(long));
}

आउटपुट

$ gcc test_c.c
test_c.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int] main(){
^~~~
$ ./a.out
The Size is: 8

आउटपुट

$ gcc -m32 test_c.c
test_c.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main(){
^~~~
test_c.c: In function ‘main’:
test_c.c:4:28: warning: format ‘%lu’ expects argument of type ‘long unsigned
int’, but argument 2 has type ‘unsigned int’ [-Wformat=]
printf("The Size is: %lu\n", sizeof(long));
~~^
%u
$ ./a.out
The Size is: 4

  1. सी ++ प्रोग्राम पाप (एक्स) और कॉस (एक्स) के मूल्य की गणना करने के लिए

    इनपुट को कोण के रूप में दिया गया है और कार्य दिए गए कोण के अनुरूप sin(x) और cos(x) के मान की गणना करना और परिणाम प्रदर्शित करना है पाप के लिए(x) sin(x) एक त्रिकोणमितीय फलन है जिसका उपयोग x कोण के मान की गणना करने के लिए किया जाता है। फॉर्मूला $$\sin (x) =\displaystyle\sum\limits_{k=0}^\infty \fr

  1. सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

    मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को इस तरह दर्शाता है कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें ज्ञात करना है कि दिया गया वर्ग आव्यूह विकर्ण . है या नहीं और स्केलर मैट्रिक्स या नहीं, अगर यह विकर्ण . है और स्केलर मैट्रिक्स फिर परिणाम में हाँ प्

  1. C++ में घन के आयतन और सतह क्षेत्र के लिए कार्यक्रम

    घन क्या है? घन एक त्रि-आयामी वस्तु है जिसमें चौकोर आकार के छह फलक होते हैं, जिसका अर्थ है कि इसकी लंबाई और चौड़ाई समान है। घन निम्नलिखित गुणों वाला एकमात्र नियमित हेक्साहेड्रोन है - छह चेहरे 12 किनारे 8 कोने घन की आकृति नीचे दी गई है समस्या पक्ष के साथ दिया गया, कार्य एक घन का कुल सतह क्षेत्र