Lỗi id returned 1 exit status dev c

For some reason, when I try compiling a program, the compiler says permission denied and Id returned 1 exit status. Could anyone tell me what that means? Thank you


# include <stdio.h>                                               /* Library inclusions */

# include "genlib.h" 

# include "simpio.h"
int binSearch(int val, int numbers[], int size1);                /* prototypes */
void sortArray (int numbers[], int size1);                       
int indexMax (int numbers[], int low, int high);
void swap (int numbers[], int loc, int loc1);
void getArray (int numbers[], int size1);
void displayArray (int numbers[], int size1);
main()
{
  int value, size1;
  printf("Enter the number of elements: ");
  size1=GetInteger(); 
  int numbers[size1];
  getArray(numbers, size1); 
  sortArray(numbers, size1); 
  displayArray(numbers, size1);
  printf("\nEnter value to find: ");
  value=GetInteger();
  binSearch(value, numbers, size1);
  getchar();
}
void sortArray (int numbers[], int size1)                        /*Function sortArray*/
{
 int i , maxInd;
 for (i= size1-1; i>=0;i--)
 {
     maxInd=indexMax(numbers, 0, i);
     swap (numbers, i, maxInd);
 }
}
void displayArray (int numbers[], int size1)                     /*Function displayArray*/
{
 int i;
 printf("This is the sorted set of numbers: \n");
 for (i=0; i< size1; i++)
 {
         printf ("%d\t", numbers[i]); 
     }
}
void getArray (int numbers[], int size1)                         /*Function getArray*/
{
 int i;
 for (i=0; i<size1; i++)
 {
     printf ("Enter the values of the %d elements: ", size1);
     numbers[i]=GetInteger();
 }
}
int indexMax (int numbers[], int low, int high)                  /*Function indexMax*/
{
int i, maxInd;
maxInd=high;
for (i=low;i<=high;i++)
{
    if (numbers[i]>numbers[maxInd]) 
    {
                   maxInd =i;
    }
    }
    return (maxInd);
}
void swap (int numbers[], int loc, int loc1)                     /*Function swap*/
{
 int temp;
 temp=numbers[loc];
 numbers[loc]=numbers[loc1];
 numbers[loc1]=temp;
}
int binSearch(int val, int numbers[], int size1)                 /*Function binSearch*/
{
 int low, high, mid;
 low=0;
 high=size1-1;
 while(low<=high)
 {
                 mid=(low+high)/2;
                 if(val<numbers[mid])
                 {
                                 high=mid-1;                
                 }            
                 else if(val>numbers[mid])
                 {
                                 low=mid+1; 
                 }   
                 else if(val==numbers[mid])
                 {
                                 printf("Your number is in location %d\n", mid+1);break;    
                 } 
                 else
                 {
                                 printf("Your value is not in the array.");        
                 }
   }
}

The above is the binary search algorithm code I tried to compile.

Trong khi đang lập trình với ngôn ngữ C, C++, bạn gặp phải lỗi “ld returned 1 exit status”. Vì sao lỗi này xuất hiện? Và cách sửa lỗi “ld returned 1 exit status” ra sao? Bạn hãy yên tâm, TinoHost sẽ giúp bạn sửa lỗi “ld returned 1 exit status” trong 1 phút!

Vì sao lỗi xuất hiện?

4 nguyên nhân dẫn đến lỗi “ld returned 1 exit status“

Nguyên nhân dẫn đến lỗi “ld returned 1 exit status” là không ít để có thể giải quyết “thần tốc” vấn đề, bạn chỉ cần xác định rõ nguyên nhân là được. Sau đây là những lỗi dẫn đến “ld returned 1 exit status” phổ biến nhất:

  • Lỗi do gõ sai chính tả câu lệnh, thư viện – đây là lỗi phổ biến bậc nhất!
  • Một chương trình khác bạn đang biên dịch và chạy ngầm trong tác vụ
  • Do phần mềm diệt virus chặn file exe của bạn
  • Lỗi không xác định

Lỗi id returned 1 exit status dev c

Ví dụ mẫu dùng để sửa lỗi

Trong ví dụ mẫu mình lấy được tại trang Dạy nhau học có một lỗi khá cơ bản bạn có thể bắt gặp nếu dò xét kỹ. Tiếp theo, để sửa lỗi bạn hãy đọc qua ví dụ này và tìm lỗi nhé!

Phần mềm IDE trong ví dụ: Dev C++


# include<stdio.h>

# include<string.h>

# include<conio.h>

# include<math.h>
typedef struct //khai bao ngay sinh
{
int ngay;
int thang;
int nam;
}a;
typedef struct //khai bao diem tong ket
{
float toan;
float ly;
float hoa;
float tong;
}b;
typedef struct //khai bao danh sach thi
{
char ho_ten[25];
a ngay_sinh;
b diem;
}c;
c ds[30];
float toan, ly, hoa, tong;
int maint()
{
for(int i=1; i<30; i++)
{
//nhap ten sinh vien
printf("nhap du lieu sinh vien thu %d ", i);
printf("nhap ho ten %c/n", ds[i].ho_ten);
fflush(stdin);
gets(ds[i].ho_ten);
//nhap ngay thang nam sinh
printf("/n nhap ngay,thang,nam sinh %c", &ds[i].ngay_sinh.ngay, &ds[i].ngay_sinh.thang, &ds[i].ngay_sinh.nam);
fflush(stdin);
scanf("%d - %d - %d",&ds[i].ngay_sinh.ngay, &ds[i].ngay_sinh.thang, &ds[i].ngay_sinh.nam);
//nhap diem cac mon
printf("/n nhap diem mon toan : %f", ds[i].diem.toan);
fflush(stdin);
scanf("%f",&ds[i].diem.toan);
printf("/n nhap diem mon ly : %f", ds[i].diem.ly);
fflush(stdin);
scanf("%f",&ds[i].diem.ly);
printf("/n nhap diem mon hoa : ", ds[i].diem.hoa);
fflush(stdin);
scanf("%f",&ds[i].diem.hoa);
printf("/n tong diem %f", ds[i].diem.tong=(ds[i].diem.toan + ds[i].diem.ly + ds[i].diem.hoa) );
}
}

Và kết quả khi chạy ví dụ này trả về như sau:

D:\Dev C++\collect2.exe [Error] ld returned 1 exit status

Vậy, đâu là nguyên nhân và sửa lỗi “ld returned 1 exit status” này hiệu quả?

Sửa lỗi “ld returned 1 exit status” do lỗi do gõ sai chính tả câu lệnh, thư viện

Đây là một lỗi vô cùng cơ bản và rất nhiều bạn gặp phải trong quá trình viết code.

Ngay trong ví dụ, bạn có thể thấy rằng hàm main đã bị viết sai thành maint.

Trong lúc chính bản thân tôi gõ, đôi khi vẫn mắc một số lỗi và tạo ra những câu lệnh ngớ ngẩn: mani, mai, mainn,… Và bạn lưu ý một số tên thư viện, hàm bạn có thể gọi sai như: printf, scanf,…

Để chắc chắn, bạn chỉ cần kiểm tra lỗi chính tả trong các câu lệnh của bạn là được.

Lỗi id returned 1 exit status dev c

QUẢNG CÁO

Lỗi id returned 1 exit status dev c

Sửa lỗi “ld returned 1 exit status” do chương trình khác chạy ngầm

Mô tả trường hợp do chương trình khác chạy ngầm

Trong khi bạn biên dịch một chương trình và bạn tiếp tục thực hiện Run, lỗi “ld returned 1 exit status” lại xuất hiện.

Nếu may mắn, bạn sẽ thấy một ứng dụng đang chạy ngay ở thanh tác vụ của Windows như trong ảnh:

Lỗi id returned 1 exit status dev c

Cách sửa lỗi do chương trình khác chạy ngầm

Đối với trường hợp như trong ví dụ, bạn chỉ cần mở tab đó lên và tắt chương trình đó đi là xong.

Trong trường hợp bạn không thấy phần mềm nào dưới thanh tác vụ, bạn có thể thực hiện như sau để mở Task manager và tắt chương trình đó đi:

  • Cách 1: ctrl + alt + delete => Task manager => trong tab Process tìm đến ứng dụng đang chạy ngầm và tắt chương trình đó đi bằng cách chọn vào ứng dụng đó => End Task.
  • Cách 2: ctrl + shift + Esc => vào thẳng Task manager trong tab Process bạn tìm ứng dụng và tắt ứng dụng bằng cách chọn vào ứng dụng => End Task chạy ngầm đi là được.

Lỗi id returned 1 exit status dev c

Sửa lỗi “ld returned 1 exit status” do phần mềm diệt virus chặn file exe

Mô tả trường hợp lỗi “ld returned 1 exit status” do phần mềm diệt virus chặn file exe

File exe là một file thực thi, hầu hết các Malware, Virus Trojan đều có file .exe độc hại.

Khi bạn vô tình nhấp vào hoặc vô tình tải trên mạng về, các phần mềm diệt virus sẽ ngăn không cho file .exe đó chạy và xóa hẳn file đi (Window defender sẽ trực tiếp xóa – các phần mềm khác như Malwarebytes sẽ chặn không cho file .exe chạy và hỏi bạn muốn làm gì với file).

Lỗi id returned 1 exit status dev c

Sửa lỗi do phần mềm diệt virus chặn file exe

Phương pháp sửa lỗi khá đơn giản, bạn chỉ cần cho phép file exe của chương trình bạn chạy trong danh sách Allow list của phần mềm diệt Virus là được.

Trong trường hợp bạn không tìm thấy, bạn có thể trực tiếp tắt phần mềm diệt virus đi và chạy file (TinoHost không khuyến khích bạn thực hiện cách này, tuy nhiên, trong tình cảnh bạn không thể tìm thấy bạn có thể tạm thời tắt đi, sau khi chạy chương trình xong bạn có thể mở lại).

TinoHost sẽ hướng dẫn bạn cách thực hiện trên Malwarebytes nhé:

Bạn cần truy cập vào phần mềm, sau đó bạn bấm vào biểu tượng bánh răng ở góc trên bên phải của giao diện. => Bạn nhấp vào tab Allow list, tại đây bạn bấm vào Add.

Lỗi id returned 1 exit status dev c

Tiếp theo, giao diện như trong ảnh sẽ hiện lên, bạn bấm vào Allow a previously detected exploit => nhấp chọn vào chương trình của bạn trong danh sách bị liệt kê là phần mềm độc hại => cuối cùng, bạn bấm Done để cho phép chương trình của bạn chạy.

Lỗi id returned 1 exit status dev c

Sau đó, bạn thoát ra, kiểm tra lại xem có chương trình nào chạy ngầm hay không như lỗi ở phía trên, sau đó bấm Run để chạy lại lần nữa.

Sửa lỗi “Id returned 1 exit status” không xác định được nguyên nhân

Không ít trường hợp bị lỗi “Id returned 1 exit status” nhưng lại không xác định được nguyên nhân.

Ví dụ minh họa:

Bạn tạo ra một file source mới và không thể lưu do bị trùng tên, và dẫn đến lỗi “Id returned 1 exit status”. Trường hợp này bạn chỉ cần xóa file .cpp lỗi vừa được tạo ra và tạo lại 1 file source rồi đặt cái tên mới là ổn.

Lỗi id returned 1 exit status dev c

Một lỗi khác có thể xảy ra đối với phần mềm IDE Dev C++. Vì một số nguyên nhân nào đó bên trong phần mềm, khi bạn chạy chương trình viết bằng C/ C++ sẽ bị lỗi.

Cách giải quyết tạm thời bạn có thể thử là xóa phần mềm đi và cài đặt lại.

Lỗi id returned 1 exit status dev c

Chỉ cần bạn xác định được đúng nguyên nhân TinoHost đã liệt kê ở trên và sửa lỗi “ld returned 1 exit status” bằng cách tham khảo các biện pháp ở dưới, nếu chính xác bạn mất không đến 1 phút để sửa lỗi đâu! Nếu bạn muốn chắc chắn hơn, bạn có thể thử reset máy => mở chương trình lại và chạy. TinoHost chúc bạn thành công và gặt hái kết quả tốt đẹp trên con đường lập trình.

Những câu hỏi thường gặp về sửa lỗi “ld returned 1 exit status“

Nên làm gì khi lỗi vẫn xuất hiện dù đã áp dụng các cách trên?

Bạn nên thử đem chương trình đó chạy trên 1 máy khác. Nếu chương trình của bạn chạy bình thường, bạn có thể lựa chọn việc cài đặt lại Windows cho giải pháp cuối cùng.

Nên sử dụng phần mềm lập trình C nào?

Bạn có thể sử dụng Visual Studio Code phiên bản miễn phí dành cho cá nhân. Nếu máy tính của bạn không quá mạnh và không đủ dung lượng lưu trữ, bạn có thể sử dụng những phần mềm khác nhẹ hơn như: XCode, Netbean, Eclipse hoặc Dev C++,…

Làm thế nào để học lập trình C trên điện thoại?

Để học lập trình C, C++, bạn có thể tải những ứng dụng như sau trên điện thoại Android của mình để học: SoloLearn, Encode, Codemurai, Mimo, Grasshopper, Programming Hero, Tynker, Enki App,… Trong những app này, cá nhân tôi sử dụng SoloLearn để học nhiều nhất.

Bạn có thể học lập trình C tại trang learn-c.org hoàn toàn miễn phí và rất bổ ích.

Vì sao các thầy lại khuyến khích sinh viên học ngôn ngữ C?

Câu trả lời khá đơn giản, vì ngôn ngữ C là một ngôn ngữ nền tảng, sau khi bạn đã trở thành bậc thầy với ngôn ngữ C, bạn có thể học bất cứ ngôn ngữ lập trình nào khác mà không phải tốn quá nhiều thời gian.

LĐ returned 1 exit status là gì?

Lỗi ld returned 1 exit status được hiểu đơn giản là ld trở lại trạng thái thoát. Thường xuất hiện khi chạy một đoạn code viết bằng ngôn ngữ lập trình C hoặc C++. Nguyên nhân gây ra lỗi lập trình này gồm.

ID returned 1 exit status C++ là gì?

Lỗi ld returned 1 exit status là một thông báo lỗi thông thường xuất hiện khi sử dụng ngôn ngữ lập trình C hoặc C++. Lỗi này có biểu hiện là id trở lại trạng thái thoát, điều này thông thường xảy ra khi có lỗi trong quá trình liên kết các tệp đối tượng thành một tệp thực thi.