- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang làm việc trên một chương trình C và C++ cần chạy trên một số nền tảng nhúng khác nhau và để làm được điều này, tôi có một trình biên dịch chéo để tôi có thể xây dựng nó trên máy tính để bàn x86 của mình.
Tôi đang gặp sự cố nghiêm trọng với một số hàm, chẳng hạn như "strtod()". Đây là chương trình thử nghiệm đơn giản của tôi:
#include
#include
int main(int argc, char **argv)
{
if ( (argc < 2) || (NULL == argv[1]) ) trả về 0;
nhân đôi myDouble = strtod(argv[1], NULL);
printf("\nValue: %f\n\n", myDouble);
return 0;
}
Thông thường tôi xây dựng tất cả các chương trình bằng cách sử dụng liên kết động để giữ cho các tệp nhị phân càng nhỏ càng tốt. Phần trên hoạt động tốt trên x86 và Power PC. Tuy nhiên, trên hệ thống Arm (BeagleBoard xM với Debian), strtod() hoạt động không phù hợp (chương trình luôn xuất ra "0,000000").
Tôi đã thử xây dựng chương trình với tùy chọn "-static" và chương trình này hoạt động trên Beagle:
root@beaglexm:/app# ./test.dynamic 1.23Value: 0,000000 [Phiên bản được liên kết động - SAU!!]root@beaglexm:/app# ./test.static 1.23Value: 1.230000 [Chính xác!!]
Tôi cũng đã thử nghiệm trên BeagleBone Black, có cách phân phối hơi khác một chút. Cả hai phiên bản (tĩnh và động) đều hoạt động tốt trên BBB.
Tìm hiểu kỹ về kho lưu trữ, tôi tìm thấy các số phiên bản sau:
Chuỗi công cụ biên dịch chéo:libc-2.9.so
BeagleBoard XM (không hoạt động):libc-2.13.so
BeagleBone Black (hoạt động!):libc-2.16.so
Vì vậy, trình biên dịch chéo của tôi được xây dựng dựa trên phiên bản cũ hơn của glibc. Tôi đã đọc ở một số nơi rằng glibc Nên tương thích ngược.
Tôi đã cân nhắc việc chỉ liên kết libc một cách tĩnh, nhưng theo câu hỏi nàyTrừ khi tất cả các thư viện được liên kết tĩnh, đây là một ý tưởng tồi.
Mọi thứ đều hoạt động tốt với liên kết tĩnh, nhưng có những hạn chế nghiêm trọng trên hệ thống, điều đó có nghĩa là tôi cần giữ tệp nhị phân càng nhỏ càng tốt.
Bạn có ý tưởng nào về điều gì có thể gây ra sự cố khủng khiếp với strtod() (và các chức năng tương tự) và/hoặc tại sao glibc 2.13 không tương thích ngược không?
biên tập:Tôi chưa đề cập rằng "soname" (tức là tên cấp cao nhất) giống nhau trên tất cả các nền tảng: "libc.so.6" Theo đọc tài liệu của tôi, số sau .so trong "soname" là số chính phiên bản và chỉ khả dụng trên Thay đổi khi giao diện thay đổi - vì vậy tất cả các phiên bản này phải tương thích. Số trước .so xuất hiện trong tên tệp thực tế (được tìm thấy qua liên kết tượng trưng, như được hiển thị ở trên) là phiên bản phụ. Nhìn thấy:liên kết
câu trả lời hay nhất
Thông thường số phiên bản phản ánh khả năng tương thích. .Vì thế
Các con số xuất hiện ở giữa và dấu chấm tiếp theo cho biết đây là phiên bản chính và không được đảm bảo tương thích với bất kỳ phiên bản chính nào khác.
Con số ngay sau nó (chỉ hiển thị nếu bạn nhấp vào liên kết tượng trưng) cho biết bản sửa đổi nhỏ. Chúng có thể được sử dụng thay thế cho nhau và các liên kết tượng trưng được sử dụng để thực hiện việc này. Chương trình này liên kết đến libc.so.6
hoặc bất cứ thứ gì khác, và trên hệ thống tập tin thực tế,libc.so.6
đang trỏ đến (ví dụ)liên kết tượng trưng libc.so.6.12
.
glibc cố gắng duy trì tính tương thích giữa các phiên bản chính, nhưng đôi khi chúng chỉ phải chấp nhận những thay đổi có thể vi phạm. Thông thường, điều này xảy ra khi một phiên bản mới của tiêu chuẩn C hoặc POSIX được phát hành và các chữ ký hàm được cập nhật theo cách phá vỡ tính tương thích nhị phân.
bất cứ thứ gì xuất hiện trong.Vì thế
Các số trước đó cũng có thể phá vỡ tính tương thích nếu bị thay đổi; những số này thường thể hiện sự viết lại hoàn toàn của chương trình. Ví dụ trơn
Và glib2
. Không có gì để làm với libc.
ldd
Các công cụ rất hữu ích để điều tra các phần phụ thuộc của thư viện và khám phá phiên bản chính xác của thư viện thực sự được tải.
Giới thiệu về c++ - lỗi khủng khiếp với strtod(): glibc-2.13 không tương thích ngược với glibc-2.9? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/27221745/
Tôi có một tiện ích bổ sung được viết cho Firefox 3.6 và hiện tôi đang nâng cấp nó lên Firefox 4.0 trong khi cố gắng làm cho nó tương thích với 3.6. Có ai có kinh nghiệm cố gắng thực hiện việc này hoặc có lời khuyên nào về cách xử lý việc này nếu mã trở nên quá spaghetti không?
Tôi đã cài đặt Cassandra 2.0.1 và muốn sử dụng API Java Astyanax trong ứng dụng của mình. Tôi thấy bảng tương thích Cassandra trên wiki và nó cho biết Astyanax sử dụng Netfl
Có thể sử dụng lớp vùng chứa tùy chỉnh được triển khai hoàn toàn bằng VBScript (không có đối tượng COM) với câu lệnh For Each không? Nếu vậy, tôi phải phơi bày những phương pháp nào? Câu trả lời hay nhất Tóm lại là không có tại sao? Tạo một lớp sưu tập có thể đếm được
Tôi có ít mã ở đây int b=3; b=b >> 1; System.out.println(b); nó hoạt động tốt nhưng khi tôi thay đổi biến b thành byte, short, float, double nó.
Chúng tôi có một máy khách Java sử dụng corba để gọi nhiều hệ thống của bên thứ ba. Đây là những hệ thống khác nhau thực hiện cùng một bộ giao diện. Chúng tôi nhận được các thư viện (tệp jar) sử dụng các giao diện này. Ví dụ, những
Tôi biết rằng HTML5 về mặt kỹ thuật là một "đặc tả trực tiếp", nhưng tôi tự hỏi liệu nó có tuân thủ việc thêm dấu cách vào tên lớp hay không. Tôi không thấy bất kỳ tài liệu tham khảo nào về tình huống này trong thông số kỹ thuật, nhưng một trong những đồng đội của tôi nói rằng nó không hợp lệ. Có lẽ tôi đang thiếu một cái gì đó? Việc cắt tỉa những khoảng trống này sẽ
Tôi đang lập trình bằng C trên Linux x86-64. Tôi đang sử dụng thư viện tạo nhiều luồng thông qua lệnh gọi hệ thống nhân bản thô thay vì sử dụng pthread_create. Các luồng này chạy mã cấp thấp bên trong thư viện. Tôi muốn móc cái này
Tôi muốn viết một chương trình có khả năng khởi động bằng trình biên dịch mã có khả năng gửi và nhận các gói mạng. Tôi không muốn sử dụng bất kỳ thư viện nào, tôi muốn tự tạo nó (và vừa học vừa làm). Thật không may, tôi không thể tìm thấy bất kỳ thông tin nào về mức giao tiếp card mạng thấp nhất (gửi ổ cắm thô). Tôi tin là có
Có một nhánh của CoffeeScript không có thay đổi nào ngoài phạm vi cố định để nó tương thích phần lớn với CoffeeScript (tương thích hoàn toàn nếu mã không có phép gán biến bên ngoài) không? Tôi sẽ cân nhắc sử dụng chấp nhận được
Câu hỏi này đã có câu trả lời: Tại sao BiConsumer được phép gán một chức năng chỉ chấp nhận một đoạn duy nhất
Tôi cần cơ sở dữ liệu bộ nhớ chính hiệu suất cao cho ứng dụng Java của mình 1] Vui lòng đề xuất cơ sở dữ liệu - Tuân thủ JDBC - Độc lập (tức là tệp phẳng) - Hỗ trợ bảng trong bộ nhớ - Hiệu suất cao - Chỉ mục B-TREE 2] Có kỹ thuật nào trong JAVA không có thể được sử dụng trong quá trình chạy chương trình
Tôi thường tìm thấy một số hàm lấy char* làm đối số, nhưng tôi nghe nói rằng std::string được khuyên dùng nhiều hơn trong C++. Làm cách nào để sử dụng các đối tượng std::string với các hàm lấy char* s làm tham số? Cho đến nay tôi đã tìm ra c_str
Tôi đang chuyển một trong các tệp javascript cũ của mình để tương thích với requireJS. Đây là giao diện của mã trước đó. // effect.js (function(exports){ // tốc ký
Trước khi cập nhật SDK hôm nay, tôi đã có mã hoạt động (để tham khảo sau này, vui lòng xem ngày đặt câu hỏi). .getMap từng đưa ra cảnh báo rằng nó không được dùng nữa, nhưng giờ đây nó thậm chí còn không được công nhận là đầu vào hợp lệ. Tôi cho rằng điều này là do API 24 (Andro
Theo bảng tham chiếu này trên hyperpolyglot.org, cú pháp sau có thể được sử dụng để đặt một mảng. i=(1 2 3) Nhưng tôi gặp lỗi trên dash, đó là Ubuntu
Tôi đã cài đặt MYSQL 8.0.12 (phiên bản tải xuống) trên MacBook của mình. Khi tôi cố gắng kết xuất phiên bản tương thích của mysql40, tôi gặp lỗi Chế độ không hợp lệ thành --known: mysql40. tôi 100
Xin chào, tôi đang thay đổi hệ thống kiểm soát phiên bản của mình và tôi đã kiểm tra xem lực lượng có tương thích với tính năng khắc phục bcm hay không. Có ai biết phiên bản nào khác của hệ thống điều khiển cũng tương thích với tính năng khắc phục bcm không? ? Câu trả lời hay nhất BMC Remedy sẽ gần gũi hơn với Clea
Tôi cần vẽ lưới tọa độ chung trên hình ảnh bằng python. Tôi có thể tính toán tọa độ pixel của các đường lưới, vì vậy tôi chỉ cần một mô-đun có thể vẽ chúng dưới dạng các đường đứt nét trên đầu hình ảnh. Các hình ảnh có dạng mảng nhiều mảng, vì vậy tôi cần có khả năng chuyển đổi giữa các định dạng này và vẽ
Cách "truyền thống" để thư viện chấp nhận đầu vào tệp là thực hiện một số việc như sau: def foo(file_obj): data = file_obj.read() # Thực hiện những việc khác ở đây mã máy khách
Tài liệu CodeUntitled #topDropDownMenu { vị trí: tương đối;
Tôi là một lập trình viên xuất sắc, rất giỏi!