SQLITE_PRIVATE means that the function is PRIVATE. You are not allowed to call this function, it is not supported as part of the SQLite API. Because you are not allowed to call the function directly, it is not made available to the linker. You can call it indirectly through the EXPLAIN feature.
By changing from SQLITE_PRIVATE to SQLITE_API (commonly referred to as "hacking") you are making it visible to the linker. And thus callable from your program. So the answer to your question is 1) because it is invisible 2) use EXPLAIN to output the generated VDBE code BTW: It is good practice to finalize a prepared statement before closing the db handle. -----Urspr?ngliche Nachricht----- Von: Sairam Gaddam [mailto:gaddamsairam at gmail.com] Gesendet: Freitag, 15. Mai 2015 11:27 An: General Discussion of SQLite Database Betreff: [sqlite] Regarding SQLITE_PRIVATE http://pastebin.com/yLx1L0uu When I run the above program, I got the following error undefined reference to `sqlite3VdbePrintOp' since the "sqlite3VdbePrintOp" function is SQLITE_PRIVATE But when I change SQLITE_PRIVATE to SQLITE_API, I was able to access the function. Can anyone tell why can't I access in the former case and Is there any way to access the same when it is SQLITE_PRIVATE ? _______________________________________________ sqlite-users mailing list sqlite-users at mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ___________________________________________ Gunter Hick Software Engineer Scientific Games International GmbH FN 157284 a, HG Wien Klitschgasse 2-4, A-1130 Vienna, Austria Tel: +43 1 80100 0 E-Mail: hick at scigames.at This communication (including any attachments) is intended for the use of the intended recipient(s) only and may contain information that is confidential, privileged or legally protected. Any unauthorized use or dissemination of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender by return e-mail message and delete all copies of the original communication. Thank you for your cooperation.