Dù ISA là gì, C không phải là cụ thể của ISA. Tôi giả sử bạn không đề cập đến khe cắm đã lỗi thời cho thẻ mở rộng PC.
Có các trình biên dịch C tuân thủ tiêu chuẩn cho rất nhiều nền tảng và miễn là bạn sử dụng các tính năng ngôn ngữ được xác định đầy đủ trong mã nguồn của mình, bạn sẽ có thể biên dịch nó trên bất kỳ trình biên dịch C nào cho bất kỳ nền tảng nào.
Tuy nhiên, một điều đáng chú ý là tiêu chuẩn C để lại rất nhiều hành vi của các tính năng khi triển khai được xác định hoặc là hành vi không xác định. Điều này được thực hiện để làm cho ngôn ngữ C thường hữu ích hơn cho lập trình cấp thấp, tránh các trường hợp trong đó một số hành vi được xác định chính xác là không phù hợp với những gì phần cứng hỗ trợ trên một số nền tảng. Tuy nhiên, nó làm cho nó khó hơn một chút để viết chương trình di động.
Ngoài ra, không giống như một số ngôn ngữ, C không được cung cấp với một thư viện khổng lồ thuộc loại mà Java hoặc C # cung cấp. Bạn có thể có được các thư viện rất di động để làm bất cứ điều gì, nhưng bạn phải thực hiện một số công việc để xây dựng chúng và khiến chúng hoạt động cùng nhau.
Tất nhiên, C có một thư viện chuẩn, nhưng phạm vi của nó tương đối hạn chế so với Java, C #, Python, v.v.