لماذا يبدو مجلس التعاون الخليجي أكثر مطوّلة في أوبونتو 10؟

StackOverflow https://stackoverflow.com/questions/4224855

  •  26-09-2019
  •  | 
  •  

سؤال

لقد صنعت مؤخرًا استنساخ CP (للجامعة) وحدثت لاكتشاف شيء لم أتلقه أبدًا.

وهذا ينطبق على الأقل على تجميع مصدر CC.

لقد قمت بالتطوير الرئيسي لهذا البرنامج C المحدد في نظام التشغيل Mac OS X (10.6.4) ، يبني مع Apple's /usr/bin/gcc --version

i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
Copyright (C) 2007 Free Software Foundation, Inc.

ومع ذلك ، قمت بإجراء الاختبارات في جهاز Arch Linux Virtual داخل MAC ، مع أحدث GCC (لا توجد إضافات ، لا تخصيصات ، لا تعديل مثل Apple's)

gcc (GCC) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.

واضطررنا إلى بنائه في الفصل في Ubuntu 10.04.1 LTS التي لدينا هناك.

كان Makefile الخاص بي مثل:

CC=gcc
#CFLAGS=-O0 -g -Wall
CFLAGS=-O3 -Wall -finline-functions
EXE=copy

compile:
    $(CC) $(CFLAGS) -o $(EXE) main.c

لذلك ، كنت دائمًا أركض (في كل نظام تشغيل) مع مرتبة GCC -Wall تمكين. لم يظهر Mac و Arch أي تحذير.

طبع أوبونتو تحذيرين ، مع ودون -Wall

do_copy.c: In function 'do_copy_file2file':
do_copy.c:27: warning: ignoring return value of 'realpath', declared with attribute warn_unused_result
do_copy.c: In function 'do_copy_symlink2file':
do_copy.c:117: warning: ignoring return value of 'symlink', declared with attribute warn_unused_result

إصدار GCC الخاص بـ Ubuntu هو الافتراضي للتوزيع:gcc (Ubuntu 4.4.3-ubuntu5) 4.4.3

لماذا يحدث ذلك؟

لماذا لا أرى أي تحذيرات في OSS الأخرى وفي Ubuntu أفعل؟

هل كانت مفيدة؟

المحلول

يفرض Ubuntu بعض cflags كما ترون هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top